启动时脚本未正确运行

启动时脚本未正确运行

我有一个非常简单的脚本,它会回显一些内容,然后启动 VNC 服务器。当我在命令行上运行它时它工作正常,但是当它在启动时运行时它会给出一些奇怪的结果。这是我的脚本

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

#! /bin/sh
# /etc/init.d/vncboot

USER=root
HOME=/root

export USER HOME

case "$1" in
 start)
  echo -e "[ \e[32mok\e[39m ] Starting VNC Server"
  #Insert your favoured settings for a VNC session
  /usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 &> /dev/null
  ;;

 stop)
  echo -e "[ \e[32mok\e[39m ] Stopping VNC Server"
 /usr/bin/vncserver -kill :1 &> /dev/null
 ;;

 *)
  echo "Usage: /etc/init.d/vncboot {start|stop}"
  exit 1
  ;;
esac

exit 0

第一个回声运行不正确。它给了我这个,

-e [ \e[32mok\e[39m ] Starting VNC Server

然后 VNC 服务器工作正常,但它仍然显示输出,即使我不希望它这样做。这对于 start) 和 stop) 情况都是相同的。

答案1

感谢@steeldriver,我明白了。我变了,

command &> /dev/null

到,

command > /dev/null 2>&1

我也变了,

echo

到,

/bin/echo

相关内容