我有两个脚本1.sh和2.sh.
1.sh如下:
#!/bin/sh
variable="thisisit"
export variable
2.sh如下:
#!/bin/sh
echo $variable
根据我读,做这样的(出口)可以从另一个访问一个shell脚本的变量。 但是,这是不是在我的脚本工作。 可有人请帮忙。 提前致谢。
我有两个脚本1.sh和2.sh.
1.sh如下:
#!/bin/sh
variable="thisisit"
export variable
2.sh如下:
#!/bin/sh
echo $variable
根据我读,做这样的(出口)可以从另一个访问一个shell脚本的变量。 但是,这是不是在我的脚本工作。 可有人请帮忙。 提前致谢。
如果您要执行类似文件sh 1.sh
或./1.sh
那么你在一个子shell执行它。
如果你想在当前shell中所做的更改,你可以这样做:
. 1.sh
# OR
source 1.sh
请考虑通过去参考文档 。
“当一个脚本使用运行source
[或.
]它现有的外壳内运行,由脚本创建或修改任何变量将脚本完成之后仍然可用。相反如果脚本一样运行filename
,然后单独的子外壳(有一个完全独立的变量集)将催生运行脚本“。
export
因此它被传递给由脚本执行的过程,而不是过程调用脚本或其他任何方法把一个变量在执行shell环境。 试运行
#!/bin/sh
FOO=bar
env | grep '^FOO='
和
#!/bin/sh
FOO=bar
export FOO
env | grep '^FOO='
看到效果export
。
为了充分利用可变1.sh
到2.sh
,或者调用2.sh
从1.sh
,或进口1.sh
在2.sh
:
#!/bin/sh
. ./1.sh
echo $variable