在shell脚本中传递包含空格的参数

前端之家收集整理的这篇文章主要介绍了在shell脚本中传递包含空格的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于某些原因,我需要我的脚本才能接受具有空格字符的参数。如果我有一个脚本如下,
for SOME_VAR in $@
do
    echo "$SOME_VAR"
    cd "$SOME_VAR"
done;

如果我传递参数到脚本(假设它被称为foo.sh)

sh foo.sh "Hello world"

我期待脚本打印Hello world并将目录更改为“Hello world”。但是我收到这个错误信息

hello
cd: 5: can't cd to hello
world
cd: 5: can't cd to world

那么我如何通过空格字符把参数传递给shell脚本中的命令呢?

你也必须用$引号括起来:“$ @”

这告诉shell忽略参数中的空格;它不会将所有参数变成一个非常长的字符串。

猜你在找的Bash相关文章