dog*_*ane 29 shell argument-passing
如何将一个shell脚本的所有参数传递给另一个?我已经尝试了$*,但正如我所料,如果你引用了参数,那就不行了.
例:
$ cat script1.sh
#! /bin/sh
./script2.sh $*
$ cat script2.sh
#! /bin/sh
echo $1
echo $2
echo $3
$ script1.sh apple "pear orange" banana
apple
pear
orange
Run Code Online (Sandbox Code Playgroud)
我希望它打印出来:
apple
pear orange
banana
Run Code Online (Sandbox Code Playgroud)
Zoo*_*ork 32
使用"$@"而不是$*保留引号:
./script2.sh "$@"
Run Code Online (Sandbox Code Playgroud)
更多信息:
http://tldp.org/LDP/abs/html/internalvariables.html
$*
所有位置参数,看作一个单词注意:必须引用"$*".
$ @
与$*相同,但每个参数都是带引号的字符串,也就是说,参数是完整传递的,没有解释或扩展.这意味着,参数列表中的每个参数都被视为一个单独的单词.注意:当然,应该引用"$ @".
| 归档时间: |
|
| 查看次数: |
12912 次 |
| 最近记录: |