2

我有.sh文件:a.sh

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

rt = $(bash ...).

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

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

4

3 回答 3

3

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

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

source a.sh && echo ${rt}

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

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

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

于 2013-07-08T09:16:57.290 回答
2

您可以获取脚本以便在交互式会话的相同上下文中运行它:

source a.sh && echo ${rt}
于 2013-07-08T09:22:23.190 回答
1

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

于 2013-07-08T09:23:15.687 回答