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

在(bash)脚本之间传递带有空格的参数

发布时间:2020-12-15 16:18:00 所属栏目:安全 来源:网络整理
导读:我有以下bash两个脚本 灰: #!/bin/bash./b.sh 'My Argument' b.sh: #!/bin/bashsomeApp $* someApp二进制接收$ *作为2个参数(‘My’和’Argument’)而不是1。 我测试了几件事: 运行someApp只通过b.sh按预期工作 Iterate echo b.sh中的参数按预期工作 使用
我有以下bash两个脚本

灰:

#!/bin/bash
./b.sh 'My Argument'

b.sh:

#!/bin/bash
someApp $*

someApp二进制接收$ *作为2个参数(‘My’和’Argument’)而不是1。

我测试了几件事:

>运行someApp只通过b.sh按预期工作
> Iterate echo b.sh中的参数按预期工作
>使用$ @而不是$ *不起作用

$ *,无引号,扩展为两个字。你需要引用它,以便someApp接收一个参数。
someApp "$*"

这可能是你想使用$ @,所以someApp将收到两个参数,如果你调用b.sh as

b.sh 'My first' 'My second'

有了someApp“$ *”,someApp会收到一个单独的参数我的第一个我的第二。有了someApp“$ @”,someApp会收到两个参数,我的第一个和我的第二个。

(编辑:李大同)

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

    推荐文章
      热点阅读