FHEM - Hardware > Einplatinencomputer
[Gelöst] Wie bekomme ich den Rückgabewert der Konsole aus dem Skript heraus.
SKg:
Hallo,
Ich habe ein Skript mit folgenden Inhalt:
--- Code: ---#!/bin/bash
sudo echo "abc" >> /home/pi/test.txt
echo
--- Ende Code ---
Ich weiß wenn ich diese Zeile
--- Code: ---sudo echo "abc" >> /home/pi/test.txt
--- Ende Code ---
im Terminal ausführe bekomme ich einen Fehler und zwar:
--- Code: ----bash: /home/pi/test.txt: Keine Berechtigung
--- Ende Code ---
das ist soweit richtig weil die Datei für alle nur Leseberechtigung hat.
Wenn ich das Skript ausführe bekomme ich diese Fehlermeldung nicht.
Wie bekomme ich die Fehlermeldung aus dem Skript als Rückgabewert?
Was muss ich an "echo" übergeben.
MFG
Stephan
Dr. Boris Neubert:
Hallo,
die Fehlermeldung landet auf stderr, während die Ausgabe auf stdout geht.
In der Bash-Man-Page gibt es den Abschnitt REDIRECTION. Die relevante Passage:
--- Zitat ---For example, the command
ls > dirlist 2>&1
directs both standard output and standard error to the file dirlist, while the command
ls 2>&1 > dirlist
directs only the standard output to file dirlist, because the standard error was duplicated from the standard output before the standard output was redi‐
rected to dirlist.
--- Ende Zitat ---
Also würde ich mal
--- Code: ---sudo echo "abc" >> /home/pi/test.txt 2>&1
--- Ende Code ---
versuchen. Es kann noch sein, dass Du
--- Code: ---(sudo echo "abc" >> /home/pi/test.txt) 2>&1
--- Ende Code ---
schreiben musst, um die Ausgabe von sudo mit umzuleiten.
Viele Grüße
Boris
SKg:
Hallo,
vielen Dank schon mal an Dr. Boris Neubert
--- Zitat von: Dr. Boris Neubert am 09 September 2021, 13:38:18 ---
Also würde ich mal
--- Code: ---sudo echo "abc" >> /home/pi/test.txt 2>&1
--- Ende Code ---
versuchen. Es kann noch sein, dass Du
--- Code: ---(sudo echo "abc" >> /home/pi/test.txt) 2>&1
--- Ende Code ---
schreiben musst, um die Ausgabe von sudo mit umzuleiten.
--- Ende Zitat ---
Ich habe die Zeilen direkt so ins Skript eingetragen.
--- Code: ---#!/bin/bash
sudo echo "abc" >> /home/pi/test.txt 2>&1
--- Ende Code ---
--- Code: ---#!/bin/bash
(sudo echo "abc" >> /home/pi/test.txt) 2>&1
--- Ende Code ---
Hat beides nicht funktioniert.
MFG
Stephan
Dr. Boris Neubert:
Was bedeutet, dass es nicht funktioniert hat? Was ist das erwartete Ergebnis? Wie ist das Skript in FHEM eingebunden?
Otto123:
Hallo Stephan,
Hilft dir vielleicht das hier https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html
Also unter der Vermutung Du willst es irgendwie in fhem haben.
Gruß Otto
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln