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

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

Quero que um script no meu Raspberry Pi seja executado quando o sistema for inicializado. É 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 altero 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?

Agradecemos antecipadamente, McFarlane

Responder1

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

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

informação relacionada