我有一个主shell文件A.sh
,它通过执行它来调用B.sh
。我想知道如何将变量从B.sh
返回到A.sh
?
例如
#B.sh
a=123
#A.sh
./B.sh
echo $a
我期待终端上的结果123
。我知道以上不起作用,请告诉我如何实现我想要的。感谢。
答案 0 :(得分:1)
B.sh
不会影响A.sh
的环境。有两种选择。
让B.sh
写入标准输出,然后捕获其输出。
a=$( ./B.sh )
$(...)
是POSIX标准的一部分,但如果由于某种原因您使用的是不支持此语法的shell,则使用较旧的表单
a=`./B.sh`
可能有用。
让B.sh
写入文件,并在A.sh
退出后从文件中读取B.sh
。