0

我有一个主 shell 文件,它通过执行来A.sh调用它。B.sh我想知道如何将变量从B.shto返回A.sh

例如

#B.sh
a=123

#A.sh
./B.sh

echo $a

我期待123终端上的结果。我知道以上不起作用,请告诉我如何实现我想要的。谢谢。

4

1 回答 1

1

B.sh不能影响环境A.sh。有两种选择。

  1. 写入B.sh标准输出,然后捕获其输出。

    a=$( ./B.sh )
    

    $(...)是 POSIX 标准的一部分,但如果由于某种原因您使用的 shell 不支持此语法,则旧形式

    a=`./B.sh`
    

    可能工作。

  2. B.sh写入文件,并在退出A.sh后从文件中读取B.sh

于 2013-10-26T00:47:11.290 回答