shell 之间调用传递值

来源:互联网 发布:知耻而后勇下一句 编辑:程序博客网 时间:2024/06/05 22:16

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"

那么结果打印的就是

12 

34 

而不是你所认为的

12 34 

c

3.解决办法:修改 shell2.sh 文件为

param1=a

param2=b

param3="12 34"

param3="c"

.shell1.sh "$param1" "$param2" "'$param3'" "$param4"


注意:shell之间传递变量参数的时候,为了避免空格,需要使用的写法是 "'$param'",就是变量外边扩上单引号然后再扩上双引号。