shell 之间调用传递值
时间:2014-11-27 15:25 来源:linux.it.net.cn 作者:IT
1.shell 一般传值的时候直接把要传递的值放在要调用的shell后面就行比如有如下 shell shell1.sh
echo $0
echo $1
echo $2
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)
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) |