如何在Bash脚本中传递带空格的命令行参数

时间:2012-08-08 17:54:18

标签: bash command-line-arguments

假设有一个脚本s1,我需要传递值为$1的参数foo bar,其中包含空格。这可以做到

  

./ s1“foo bar”

但是,当我想在另一个脚本(比如s2)中运行上面的命令时,我应该怎么做呢?如果我如上所述,foo bar将被解释为两个参数(对于s1)而不是一个。

3 个答案:

答案 0 :(得分:17)

您可以尝试引用$1

./s2 "$1"

答案 1 :(得分:1)

使用单引号。

./script 'this is a line'

考虑变量替换使用双引号

./script "this is a line"

答案 2 :(得分:-4)

怎么样:

./s1 foo\ bar

那会有用吗?