在bash中将变量从一个shell脚本导出到另一个脚本
我是一个Shell脚本新手,我正在尝试将一个变量从子脚本导出到父脚本。下面是代码,不幸的是它不起作用。不知道是什么问题。下面是代码 我有一个脚本集-vars1.sh,代码如下在bash中将变量从一个shell脚本导出到另一个脚本,bash,shell,Bash,Shell,我是一个Shell脚本新手,我正在尝试将一个变量从子脚本导出到父脚本。下面是代码,不幸的是它不起作用。不知道是什么问题。下面是代码 我有一个脚本集-vars1.sh,代码如下 #!/bin/bash line_write="R" FLAG='' if [[ $line_write > " " && $line_write == "R" ]] then echo "Exporting" export FLAG=Y #export $FLAG; elif [[
#!/bin/bash
line_write="R"
FLAG=''
if [[ $line_write > " " && $line_write == "R" ]]
then
echo "Exporting"
export FLAG=Y
#export $FLAG;
elif [[ $line_write > " " && $line_write== "N" ]]
then
export FLAG=N
fi
EXIT_STATUS=-1
exit $EXIT_STATUS
#!/bin/bash
./set-vars1.sh
echo $FLAG
我试图从set-vars2.sh调用它,代码如下
#!/bin/bash
line_write="R"
FLAG=''
if [[ $line_write > " " && $line_write == "R" ]]
then
echo "Exporting"
export FLAG=Y
#export $FLAG;
elif [[ $line_write > " " && $line_write== "N" ]]
then
export FLAG=N
fi
EXIT_STATUS=-1
exit $EXIT_STATUS
#!/bin/bash
./set-vars1.sh
echo $FLAG
当我尝试运行set-vars2.sh时,我无法回显FLAG的值,它总是空的
你能告诉我这里出了什么问题,我怎样才能改正吗。很长一段时间以来,我一直在为此伤脑筋。因此,任何帮助都会非常有用使用
源代码
:
source ./set-vars1.sh
或:
执行
源代码。/set-vars1.sh
或/设置-vars1.sh
,使其可用于shell!我尝试了这两个选项,但仍然得到空白值thanks@vikeng21这是因为您在echo
打印标志之前退出。从set-vars1.sh
中删除exit命令,您将在此处缺少一个空格:$line\u write==“N”
非常感谢。它在删除退出状态后工作。