Ich weiß, dass diese Frage bereits gestellt wurde, aber ich kann keine Lösung für mein Problem finden. Ich kann mein Skript beim Start einfach nicht ausführen. Hier ist mein Drehbuch:
#!/bin/bash
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT
Ich habe es in das /etc/init.d
Verzeichnis gelegt
Stellen Sie sicher, dass es ausführbar war, indem Sie verwenden chmod 755 /etc/init.d/iptables.sh
Und fertig touch /etc/rc3.d/S01iptables.sh
Aber nichts :( ... Irgendwelche Vorschläge?
[Nov 2017] Die hier akzeptierte Antwort sollte als veraltet angesehen werden. Weitere Informationen finden Sie unter /raspberrypi//a/75057/5538
update-rc.d
Befehl hat funktioniert: D ... Ich habe ihn zuvor verwendet, aber er hat anscheinend nur einen Fehler zurückgegeben, also habe ich ihn ignoriert. Lol ... Danke für die Hilfe: Dsudo update-rc.d nameofscript.sh defaults
Zumindest bei Jessie wäre das zu vermeidenupdate-rc.d: error: initscript does not exist: /etc/init.d//etc/init.d/nameofscript.sh
.Sie können auch einen Cronjob einrichten ( siehe Tutorial ), damit dieser beim Start ausgeführt wird
Nur hinzufügen,
sudo
wenn Ihr Skript Superuser-Berechtigungen benötigt. Dann füge dies zu deiner Crontab hinzu:quelle
Sie können Ihren ausführbaren Skriptbefehl unten hinzufügen
.bashrc
, damit Ihr Skript bei jeder Anmeldung ausgeführt wird .Stellen Sie sicher, dass Sie sich im
pi
Ordner befinden:Erstellen Sie eine Datei und schreiben Sie ein Skript, das in der Datei ausgeführt werden soll:
Speichern und beenden: Ctrl+ X, Y,Enter
Zur
.bashrc
Konfiguration öffnen :Scrolle nach unten und füge die Zeile hinzu:
./superscript
Speichern und beenden: Ctrl+ X, Y,Enter
Wenn Sie nach einer Lösung suchen, die beim Booten der Konsole funktioniert , sehen Sie sich diesen Link an . Grundlegender Überblick:
Erstellen Sie eine Datei für Ihr Startskript und schreiben Sie Ihr Skript in die Datei:
Speichern und beenden: Ctrl+ X, Y,Enter
Machen Sie das Skript ausführbar:
Registrieren Sie das Skript, das beim Start ausgeführt werden soll:
Wenn Sie möchten, dass ein Skript beim Booten in die LXDE-Umgebung ausgeführt wird , können Sie sich diesen Beitrag im Raspberry Pi-Forum ansehen :
Navigiere zu
~/.config/lxsession/LXDE-pi
Öffnen Sie die
autostart
Datei in diesem Ordner:Fügen Sie
@bash /path/to/scriptname &
eine neue Zeile hinzu. Wenn Sie so etwas wie ein Python-Skript ausführen möchten, setzen Sie so etwas wie@python mypython.py
in eine neue Zeile. Das Ausführen einer Skriptdatei wäre@./superscript
, aber aus irgendeinem Grund wird das Skript in einer Endlosschleife ausgeführt (möglicherweise wird dies das beenden).Speichern und beenden: Ctrl+ X, Y,Enter
Starten Sie Ihren Raspberry Pi in der LXDE-Umgebung neu.
wird beim Start aus Execute script entnommen
quelle
Ich füge normalerweise nur die Zeile hinzu, in der das Skript ausgeführt werden soll
/etc/rc.local
, z. B./path/to/my/script.sh &
vor der letzten Zeile, die das Skript enthältexit 0
. Ich habe das "&" hinzugefügt, um das Skript in den Hintergrund zu schicken, falls es nicht zurückkehrt, da sonst die nächsten Befehle nicht ausgeführt würden.In Ihrem Fall würde ich also einfach die beiden Zeilen hinzufügen
am ende
/etc/rc.local
kurz davorexit 0
.quelle