2013-02-21 66 views
4

考虑以下bash脚本:如何保留bash函数参数中的尾随空格?

#!/bin/bash 

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

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

发生了什么事第一个参数后的空白?如何保护它?

回答

6
  1. 发生了什么事第一个参数后的空白?

    的空白被列入echo命令行上,但被丢弃的壳,一样的,如果你输入:

    echo -n Testing... 
           ^
            |----- there is a space here 
    
  2. 如何保存呢?

    引用您的变量:

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

现在,我看到它是如此明显。我觉得傻= D – maerics 2013-02-21 22:05:39