sh脚本在调用其他sh脚本的时候修改改脚本中的变量数值

执行a.sh去调用b.sh,在b.sh中有个变量num=10,我现在在a.sh文件中调用b.sh
的地方修改b.sh中num的变量

文件的内容:
a.sh:

b.sh --num 5

b.sh文件:

num=10
echo "num is $num"

但是这样执行下来,b.sh文件打印的num的数值还是10,请问是我哪里写错了吗?

给脚本传参数只能直接将参数写到脚本的后面,不能给定参数的名称。 例如你想给b.sh传一个数值参数5,可以这么写

b.sh 5

然后在b.sh中要用这个参数的话需要用$1,$2等等来指代第几个参数。例如,在b.sh中

echo "num is $1"

其中$1就代表传给b.sh的第一个参数。