lo script di avvio di Linux non esegue lo script nella home directory dell'utente


0

Voglio eseguire uno script sul mio Raspberry Pi all'avvio del sistema. Ecco perché ho creato uno script all'interno di /etc/init.d che è collegato in /etc/rc2.d

Questo è lo script all'interno di 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 questo è il contenuto di /home/thomas/applications/autostart/autostart.sh:


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

quando cambio il comando start all'interno dello script in /etc/init.d nelle seguenti righe, il comando touch viene eseguito:


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

Quindi perché non esegue lo script separato?

Grazie in anticipo, McFarlane

Risposte:


1

Supponendo che ciò che hai mostrato sia esattamente quello che hai, lo script non funzionerà perché hai un errore di formattazione. Non ci dovrebbe essere spazio tra !#e /bin/shnella linea shebang:

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

hai ragione. ma anche senza lo spazio il comando touch non viene eseguito.
McFarlane

@McFarlane è lo script eseguibile? Si prega di modificare la tua domanda e aggiungere l'uscita dils -l /home/thomas/applications/autostart/autostart.sh
terdon

il problema era davvero la riga #! / bin / sh sbagliata. Ho sbagliato in due file ed è per questo che non ha funzionato la prima volta.
McFarlane
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.