El script de inicio de Linux no ejecuta el script en el directorio de inicio del usuario

El script de inicio de Linux no ejecuta el script en el directorio de inicio del usuario

Quiero que se ejecute un script en mi Raspberry Pi cuando se inicie el sistema. Es por eso que creé un script dentro de /etc/init.d que está vinculado en /etc/rc2.d

Este es el script dentro de 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

Y este es el contenido de /home/thomas/applications/autostart/autostart.sh:


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

cuando cambio el comando de inicio dentro del script en /etc/init.d a las siguientes líneas, se ejecuta el comando táctil:


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

Entonces, ¿por qué no ejecuta el script independiente?

Gracias de antemano, McFarlane

Respuesta1

Suponiendo que lo que ha mostrado es exactamente lo que tiene, el script no funcionará porque tiene un error de formato. No debe haber espacios entre !#y /bin/shdentro de la línea shebang:

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

información relacionada