Bash /从.sh文件获取值

时间:2013-07-08 09:14:32

标签: bash

我有.sh档案:a.sh

在这个脚本中,在最后一行,我有下一个:

rt = $(bash ...).

我想得到这个rt。我尝试着做下一个:

bash a.shecho $(bash a.sh),但不会显示rt值。

3 个答案:

答案 0 :(得分:3)

echo rt放在脚本的末尾,将其打印到标准输出。

如果您无法修改原始脚本,可以使用

source a.sh && echo ${rt}

正如@mouviciel已经提到的那样但是为了额外的安全性(而不是覆盖你的env)你可以在一个子shell中使用它

bash
source a.sh && echo ${rt}
exit

$(source a.sh && echo ${rt})

答案 1 :(得分:2)

您可以使用脚本来源,以便在交互式会话的相同上下文中运行它:

source a.sh && echo ${rt}

答案 2 :(得分:1)

使用“。”运行脚本。 (例如. ./a.sh)。这样就不会启动新的,并且调用者环境中将出现rt变量。请注意这种方式可以设置和/或修改其他变量。这可能会导致问题。