【发布时间】:2015-11-03 05:50:07
【问题描述】:
我创建了一个调用两个 bash 脚本的 perl 脚本。第一个脚本将设置一个环境变量,第二个脚本将回显环境变量。我已经给出了下面文件的内容
# perlscript.pl
print `. setnameenv.sh`;
print `. getnameenv.sh`;
# setnameenv.sh
export my_msg='hello world!'
# getnameenv.sh
echo $my_msg
现在,当我运行 perl 脚本perl perlscript.pl 时,我希望在屏幕上打印“hello world”,但实际上我没有看到任何输出。我有什么方法可以在不修改 bash 脚本的情况下做到这一点?
【问题讨论】:
-
子进程无法在父(Perl)进程中设置环境。因此,第一个孩子不能影响父母或第二个孩子的环境。
-
有没有办法让父母知道孩子做了什么环境变化?
标签: linux bash perl shell unix