시작 시 스크립트가 올바르게 실행되지 않음

시작 시 스크립트가 올바르게 실행되지 않음

일부 콘텐츠를 에코한 다음 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 서버가 제대로 작동하지만 원하지 않는데도 여전히 출력이 표시됩니다. 이는 시작)과 중지)의 경우 모두 동일합니다.

답변1

@steeldriver 감사합니다. 이해합니다. 나는 변했어,

command &> /dev/null

도착하다,

command > /dev/null 2>&1

나도 변했다,

echo

도착하다,

/bin/echo

관련 정보