[Gelöst] Fhem Shell Script via Kommandozeile starten

Begonnen von suchmich1983, 29 August 2021, 20:36:25

Vorheriges Thema - Nächstes Thema

suchmich1983

#15
ja, ausführbar gemacht hatte ich es mit:

chmod +x SHELLSCRIPTNAME

Nen Shebang hatte ich nicht drin stimmt, und siehe da schon gehts! Sorry, ich muss gestehen ich bin echt ne Lusche in Sachen Linux. Meine Welt ist Windows und in PowerShell brauch man sowas nicht.
Sorry, da hätte ich auch mal selber drauf kommen können!

Lieben Dank Euch. Ich schreibe nachher noch ne kurzes HowTo wie es nun geklappt hat. Vielleicht es für andere Sony Beamer Besitzer auch noch interessant!

Grüße
Christian

Otto123

Das würde dann bedeuten das der shell Aufruf (sh) bei Dir in der FHEM Umgebung nicht gefunden wird. Hatte ich noch nicht, aber ja: es empfiehlt sich generell im Zweifelsfall komplette Pfade zu verwenden.
/bin/sh /path/to/scriptname

Was gibt Dir denn dieser Ausdruck in der FHEM Kommandozeile zurück?
{qx(printenv PATH)}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

Zitat von: Otto123 am 30 August 2021, 12:47:03
Die gehen nicht!

Deswegen ja, der Aufruf des Shellscripts muss eigentlich gehen, der printf oder echo Befehl mit Pipe direkt in der FHEM Kommandozeile geht nicht.
Die FHEM Kommandozeile ist eben keine Linux Shell Konsole :)

Hmm, scheinen wohl doch zu gehen?
Siehe: https://forum.fhem.de/index.php/topic,17201.msg1172529.html#msg1172529

Wobei ich "sowas" ja (weiterhin) auslagere... 8)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

suchmich1983

#18
ZitatWas gibt Dir denn dieser Ausdruck in der FHEM Kommandozeile zurück?
{qx(printenv PATH)}

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Viele Grüße
Christian

Otto123

Zitat von: MadMax-FHEM am 31 August 2021, 10:14:26
Hmm, scheinen wohl doch zu gehen?
Hallo Joachim,

ich habe nicht gesagt, dass es in qx() oder system() (perl) nicht geht. Es geht direkt in der FHEM Kommandozeile nicht:
"echo 'willi' > test.txt"
willi landet im Log und es entsteht keine test.txt Datei.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

@christian
Da ist der Suchpfad aber vorhanden. Da wundert mich warum die Variante:
"sh scriptname.sh"
nicht funktioniert haben soll. Ist mir ein Rätsel.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

suchmich1983

Grüß dich Otto,

ich tippe es hat funktioniert, allerdings fehlte ja doch immer noch der shebang?

Otto123

Vom Blickpunkt geht / geht nicht - sind diese beiden Vorgehensweisen alternativ:
scriptname  (shebang + Datei ausführbar)
sh scriptname (ohne oder mit shebang + Datei nur lesbar)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

helmut

Zitat von: Otto123 am 31 August 2021, 14:44:55
ich habe nicht gesagt, dass es in qx() oder system() (perl) nicht geht. Es geht direkt in der FHEM Kommandozeile nicht:
"echo 'willi' > test.txt"
Hallo Otto,

jaein, wenn Du es klammerst, geht es doch. Warum das so ist, weiss sicher Rudi.
"(echo willi > test.txt)"
Zitatwilli landet im Log und es entsteht keine test.txt Datei.
Eine leere test.txt Datei wurde bei mir auch ohne Klammern angelegt; willi fand ich im Log.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

suchmich1983

nur zur vollständigkeit halber hab ich hier mein HowTo hinterlassen. War unter anderem der Grund für diesen Thread hier: https://forum.fhem.de/index.php/topic,122741.0.html