(bash)脚本之间的空格传递参数
我有以下bash两个脚本
灰:
#!/bin/bash ./b.sh 'My Argument'
b.sh:
#!/bin/bash someApp $*
someApp二进制接收$*作为2个参数('我'和'参数'),而不是1。
我testing了几件事情:
- 运行someApp只能通过
b.sh作品按预期 - 迭代+回显
b.sh的参数按预期工作 - 使用
$@而不是$*并没有什么区别
$* ,不加引号,扩展为两个单词。 你需要引用它,以便someApp收到一个参数。
someApp "$*"
有可能你想要使用$@ ,所以如果你打电话给b.sh , someApp会收到两个参数
b.sh 'My first' 'My second'
使用someApp "$*" , someApp会收到一个参数My first My second 。 使用someApp "$@" , someApp会收到两个参数, My first和My second 。