script de inicialização do linux que não está executando o script no diretório inicial do usuário

0

Eu quero que um script no meu pi de framboesa seja executado quando o sistema inicializar. É por isso que criei um script dentro de /etc/init.d que está vinculado em /etc/rc2.d

Este é o script dentro do init.d:


#! /bin/sh
### BEGIN INIT INFO
# Provides:          Scriptname
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kurze Beschreibung
# Description:       Bechreibung
### END INIT INFO



#Switch case fuer den ersten Parameter
case "$1" in
    start)
        #Aktion wenn start aufgerufen wird
        /home/thomas/applications/autostart/autostart.sh
        ;;

    stop)
        #Aktion wenn stop aufgerufen wird
        echo "nope"
        ;;

    restart)
        #Aktion wenn restart aufgerufen wird
        echo "nope"
        ;;
        *)
        #Default Aktion wenn start|stop|restart nicht passen
        echo "(start|stop|restart)"
        ;;
esac

exit 0

E este é o conteúdo de /home/thomas/applications/autostart/autostart.sh :


#! /bin/sh
touch /home/thomas/kater

quando eu mudo o comando start dentro do script em /etc/init.d para as seguintes linhas, o comando touch é executado:


    start)
        #Aktion wenn start aufgerufen wird
        touch /home/thomas/kater
        ;;

Então, por que ele não executa o script separado?

Obrigado antecipadamente, McFarlane

    
por McFarlane 02.03.2014 / 19:06

1 resposta

1

Assumindo que o que você mostrou é exatamente o que você tem, o script não funcionará porque você tem um erro de formatação. Não deve haver espaço entre !# e /bin/sh na linha shebang:

#!/bin/sh
touch /home/thomas/kater
    
por 02.03.2014 / 19:27