加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 19:31:06 所属栏目:安全 来源:网络整理
导读:由于某些原因,我需要我的脚本才能接受具有空格字符的参数。如果我有一个脚本如下, for SOME_VAR in $@do echo "$SOME_VAR" cd "$SOME_VAR"done; 如果我传递参数到脚本(假设它被称为foo.sh) sh foo.sh "Hello world" 我期待脚本打印Hello world并将目录更改
由于某些原因,我需要我的脚本才能接受具有空格字符的参数。如果我有一个脚本如下,
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忽略参数中的空格;它不会将所有参数变成一个非常长的字符串。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读