Chr*_*rds 8 linux bash io-redirection
我正在考虑编写自己的init.d脚本来控制在我的Linux服务器上运行的多个服务。我在网上遇到了一个例子,其中包含:
nohup $EXEC_SCRIPT 0<&- &> $LOG_FILE & echo $! > $PID_FILE
Run Code Online (Sandbox Code Playgroud)
据我了解:
nohup捕捉hangup信号$EXEC_SCRIPT 是一个包含要运行的命令的变量 0<&- &> 以前没有遇到过这个$LOG_FILE类似于$EXEC_SCRIPT但包含日志文件路径&开始$LOG_FILE在后台登录?$! 是最后一个后台命令的PID>写结果$!到$PID_FILE我可以用这些知识来解决它,但这0<&- &>完全让我失望。我不喜欢首先包含我至少部分不理解的东西。
这些是重定向。
0<&- 关闭文件描述符 0(标准输入)。&> 重定向 stdout 和 stderr(在本例中重定向到日志文件)你肯定有没有为echo之前$!?$!将被解释为命令并且很可能导致
-bash: 18552: command not found
Run Code Online (Sandbox Code Playgroud)