1.shell 一般传值的时候直接把要传递的值放在要调用的shell后面就行比如有如下 shell shell1.sh
echo $0 echo $3 echo $3 如果你这么调用 shell1.sh a b cd e 打印的结果就是: a b cd e 2.如果你在另一个shell文件 shell2.sh 中要调用这个shell param1=a param2=b param3="12 34" param3="c" .shell1.sh "$param1" "$param2" "$param3" "$param4" 那么结果打印的就是 a b 12 34 而不是你所认为的
a b 12 34 c 3.解决办法:修改 shell2.sh 文件为
param1=a param2=b param3="12 34" param3="c" .shell1.sh "$param1" "$param2" "'$param3'" "$param4"
注意:shell之间传递变量参数的时候,为了避免空格,需要使用的写法是 "'$param'",就是变量外边扩上单引号然后再扩上双引号。 (责任编辑:IT) |