NWS*_*NWS 3 shell io-redirection shell-script
我发现了以下代码片段(sh):
TESTFILE=$TEST_PATH/test.out
if [ -f $TESTFILE ]
then
exec < $TESTFILE
else
echo "$TEST_PATH: no test.out file"
fi
Run Code Online (Sandbox Code Playgroud)
我的问题的重点是,这条线在做什么?(其余的我明白了!)
exec < $TESTFILE
Run Code Online (Sandbox Code Playgroud)
该文件不可执行,也未调用另一个进程,我无法找到 exec 对纯文本文件执行的操作。
Ala*_*rry 10
观察这种模式可能有助于直观理解:
cmd # fork; execute cmd in child
cmd < /dev/null # fork; redirect stdin and execute cmd in child
exec cmd # execute cmd; no fork
exec cmd < /dev/null # redirect stdin and execute cmd; no fork
exec < /dev/null # redirect stdin; no fork and no execution
Run Code Online (Sandbox Code Playgroud)
看,exec
还真不是事儿。这是一个反的东西。它根本不意味着“执行”。意思是“不要分叉”。它使命令的重定向和/或命令执行发生在当前进程中。
归档时间: |
|
查看次数: |
5200 次 |
最近记录: |