6

考虑以下 bash 脚本:

#!/bin/bash

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

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

第一个参数中的尾随空格发生了什么?怎么可能保存呢?

4

1 回答 1

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

    空格包含在echo命令行中,但被 shell 丢弃,就像您键入:

    echo -n Testing... 
                      ^
                      |----- there is a space here
    
  2. 怎么可能保存呢?

    引用你的变量:

    function foo {
      echo -n "$1"
      echo "$2"
    }
    
于 2013-02-21T22:03:59.087 回答