实施例
Var = '/etc/sysconfig/..'
export Var
bash script1.sh
在另一个script1
中cat $Var
问题。该变量不会调用此路径中的文件
答案 0 :(得分:2)
这样做:
Var='/etc/sysconfig/..'
bash script1.sh "$Var"
然后在script1.sh
:
Var=$1
cat "$Var"
"$Var"
周围的引号是支持包含空格的路径所必需的。
答案 1 :(得分:2)
您的变量分配错误,应该是:
Var='/etc/sysconfig/..'
=
周围没有空格。
如果您只想为一个脚本发送环境变量,那么您可以使用:
Var='/etc/sysconfig/..' ./my_script.sh
在my_script.sh
内:
printf "%s\n" "$Var"
# Will print /etc/sysconfig/..
如果您要向my_script.sh
发送参数,请执行@JohnZwinck suggested。我建议的只是更改环境变量,不应滥用将常规变量发送/接收到命令。
答案 2 :(得分:0)
我认为不需要更多的事情
脚本1
#!/bin/bash
a="/home/example" ### you can do with export command also export a="/home/example"
sctipt2 ## make effective
. script1;
cd $a