Linux init 脚本 0 实现什么功能

Linux init 脚本 0 实现什么功能

我正在考虑编写自己的init.d脚本来控制服务器上运行的多个服务Linux。我在网上看到一个例子,其中包含:

nohup $EXEC_SCRIPT 0<&- &> $LOG_FILE & echo $! > $PID_FILE

据我了解:

  • nohup捕获hangup信号
  • $EXEC_SCRIPT是一个包含要运行的命令的变量
  • 0<&- &>以前没有遇到过这个
  • $LOG_FILE类似于$EXEC_SCRIPT但包含日志文件路径
  • &$LOG_FILE开始在后台登录?
  • $!是最后一条后台命令的PID
  • >$!将结果写入$PID_FILE

我可以用这些知识来解决它,但这0<&- &>完全让我失望。我不喜欢包含我首先不至少部分理解的内容。

答案1

这些是重定向。

  • 0<&-关闭文件描述符 0(标准输入)。
  • &>重定向 stdout 和 stderr(在本例中重定向到日志文件)

echo你确定之前没有吗$!$!将被解释为命令,并且很可能导致

-bash: 18552: command not found

答案2

&<- 关闭文件描述符。但更根本的是,在 Google 上搜索那些小“&”原子可能会很痛苦!看这个网站关于 bash 重定向以获取背景信息。

相关内容