Script não está sendo executado corretamente na inicialização

1

Eu tenho um script muito simples que ecoa algumas coisas, em seguida, inicia um servidor VNC. Ele funciona bem quando eu o executo na linha de comando, mas quando ele é executado na inicialização, ele dá alguns resultados estranhos. Aqui está o meu script

### 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

A primeira parte do eco não funciona corretamente. Isso me dá isso,

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

Então o servidor VNC funciona bem, mas ele ainda exibe a saída, mesmo que eu não queira. Isso é o mesmo para os casos de início e parada).

    
por likelukeyo 14.02.2015 / 15:20

1 resposta

1

Graças a @steeldriver, descobri. Eu mudei,

command &> /dev/null

para

command > /dev/null 2>&1

eu também mudei,

echo

para

/bin/echo
    
por 14.02.2015 / 16:22