Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中将变量从一个shell脚本导出到另一个脚本_Bash_Shell - Fatal编程技术网

在bash中将变量从一个shell脚本导出到另一个脚本

在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 [[

我是一个Shell脚本新手,我正在尝试将一个变量从子脚本导出到父脚本。下面是代码,不幸的是它不起作用。不知道是什么问题。下面是代码

我有一个脚本集-vars1.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调用它,代码如下

#!/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”
非常感谢。它在删除退出状态后工作。