如何在bash函数参数中保留尾随空格?

时间:2013-02-21 22:01:57

标签: bash function whitespace

考虑以下bash脚本:

#!/bin/bash

function foo {
  echo -n $1
  echo $2
}

foo 'Testing... ' 'OK' # => Testing...OK
# Whitespace --^                      ^
# Missing whitespace -----------------^

第一个参数中的尾随空格发生了什么?如何保存它?

1 个答案:

答案 0 :(得分:7)

  1.   

    第一个参数中的尾随空格发生了什么?

    空格包含在echo命令行中,但被shell丢弃,就像你输入的一样:

    echo -n Testing... 
                      ^
                      |----- there is a space here
    
  2.   

    如何保存它?

    引用你的变量:

    function foo {
      echo -n "$1"
      echo "$2"
    }