Frage von ComputerGehilfe, 134

Wie kann ich diesen befehl dauerhaft ausführen lassen?

Hallo, ich möchte auf meiner raspberry pi diesen befehl in Dauerschleife ausführen lassen, ohne ihn andauernd neu eingeben zu müssen : echo $(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-000801e1799b/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) °C > /home/pi/Desktop/Befehl

kann ich sowas in einer Datei abspeichern, die ich dann nur ausführen muss? wenn ja wie? geht das vielleicht mit einer Shell datei?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von TeeTier, 59

Speichere folgenden Inhalt in einer Datei ab, mache sie ausführbar, und starte dann das Skript:

#!/bin/bash

while true; do
# dein langes Kommando kommt hier hin ...
sleep 5
done

Wenn du das z. B. in "foo.sh" speicherst, und dann mit "chmod +x foo.sh" ausführbar machst, kannst du das Skript mit "./foo.sh" starten, und es wird dein Kommando alle 5 Sekunden ausführen.

Wenn du das Skript stattdessen mit "./foo.sh &" startest, wird es im Hintergrund ausgeführt.

Allerdings solltest du dir überlegen, ob du vielleicht, wie in der anderen Antwort beschrieben, einen cron-Job wählst.

Oder du kannst NUR deine lange Kommandozeile in einer ausführbaren Skriptdatei speichern, und diese mittels ...

watch -n 5 ./foo.sh

... alle 5 Sekunden laufen lassen.

Naja, gibt viele Möglichkeiten ... viel Spaß! :)

Kommentar von ComputerGehilfe ,

Habe zwar Mittlerweile eine andere Lösung gefunden, aber Trotzdem vielen dank :)

Kommentar von ComputerGehilfe ,

Wenn ich dran denke bekommst du die Hilfreichste Antwort :)

Antwort
von BruceN, 64

Vllt wenn du auf deinem Desktop eine neue Text Datei machst, den Befehl da rein kopierst und immer wenn du ihn brauchst, kopierst du alles und fügst es da ein

Expertenantwort
von Linuxhase, Community-Experte für PC, 32

Hallo

Wie kann ich diesen befehl dauerhaft ausführen lassen?

So zum Beispiel:

watch -n1 "echo $(echo "scale=3; $(grep 't='
/sys/bus/w1/devices/w1_bus_master1/10-000801e1799b/w1_slave | awk -F
't=' '{print $2}') / 1000" | bc -l) °C > /home/pi/Desktop/Befehl"

Damit würde das Konstrukt jede Sekunde gestartet werden.#

kann ich sowas in einer Datei abspeichern

Natürlich:

echo "echo $(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-000801e1799b/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) °C > /home/pi/Desktop/Befehl"  > scriptname.sh

die ich dann nur ausführen muss?

chmod +x scriptname.sh ; ./scriptname.sh

um es auszuführen. Soll es allerdings dauerhaft laufen, dann sollte es in einer Schleife laufen.

Linuxhase

Kommentar von ComputerGehilfe ,

Ersteinmal vielen dank für deine Antwort, nur leider etwas zu spät. Das mit der schleife habe ich bereits vor einigen stunden rausgefunden und umgesetzt. Ich danke dir Trotzdem vielmals!

Antwort
von EuroSat, 49

Cronjob heißt das Stichwort

Keine passende Antwort gefunden?

Fragen Sie die Community