当前位置:  开发笔记 > 编程语言 > 正文

直接运行程序和在脚本中调用exec有什么不同?

如何解决《直接运行程序和在脚本中调用exec有什么不同?》经验,为你挑选了1个好方法。

使用exec命令运行程序有什么区别?

例如,如果我制作了如下的脚本文件.

#script1
python test.py

#script2
exec python test.py

两者似乎都返回相同的结果.

它们是等价的吗?



1> P.P...:

exec是一个内置的shell,它用新进程替换当前进程的映像.它与调用二进制/可执行文件不同.

要看到差异,请执行以下操作:

#script1
python test.py
echo Hello

#script2
exec python test.py
echo Hello

您将看不到Hello在第二个脚本中打印.

exec贝壳的另一个目的.它可以用于重定向.例如,

exec 1>file

stdout进程重定向到file.

如果你有:

exec 1>file
echo hello 
echo world

然后脚本将重定向helloworldfile代替stdout.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有