【发布时间】:2013-06-26 05:07:23
【问题描述】:
我想在 UNIX 中切换不同的用户
. /home/tuxapp/.profile
other shell commond....
这可以在 shell 上工作。但是当我使用 perl 时它不起作用。
system(". /home/tuxapp/.profile");
other perl code....
system 会创建一个新进程吗?
但是如何使用通用环境呢?
谢谢!
【问题讨论】:
-
定义“不工作”。正如我所料,
echo 'echo foo' >a && perl -e'system ". a"'为我打印foo。 -
是的,
system创建了一个新进程。这就是system的全部意义所在。system($command)启动sh并让它执行提供的 shell 命令。 -
您似乎正在寻找这个:[如何在 perl 脚本中获取 shell 脚本 [环境变量] 而无需分叉子 shell?](stackoverflow.com/questions/6829179/…)