bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 11:51:27

hi,
ich lese hier schon geraume Zeit mit, und hab mich mal registriert,
weil ich keine Lösung für mein Problem gefunden habe
mein Client= Debian Buster , xfce , mit akt. Kernel

folgendes Test-script soll OHNE Terminal nur als Prozess laufen
das Problem: es wird nicht in bash ausgeführt , sondern in sh
weil read -t5 für sh ein illegaler Parameter ist.
setzt man aber einen Haken bei "mit Terminal" , dann läuft es korrekt
Das dürfte wohl nicht sein, das bash untern Tisch fällt, nur
weil es als hidden prozess läuft.
Es betrifft alle Ausruf-Arten,
-ob über Doppelklick auf die sh (als zuordnung ist bash eingegeben)
-ob über Louncher (bash ,,,mein sccript)
-ob über Desktop file (exec= gleicher Aufruf wie louncher)

erst , wenn ein sichtbares Terminal ins spiel kommt , ob über den Command,
oder den haken beim Louncher, wird bash ausgeführt, und nicht sh.

Ich möchte auch, das man beim thema bleibt, warum ich kein sleep nehme,
oder was ich damit machen will, usw,
wenn read -t nicht geht als hidden process , dann gehen auch die anderen
Erweiterung nicht in Bash zu sh

was versteht X11 unter "bash" ? , gibst da ein config-file , wo er daraus "sh" macht
wenn hidden process ? oder ist das ein reines xfce -Problem ?

--------------
#!/bin/bash
while [ 1 ]
do
notify-send -t 2000 test-msg__from_hidden_process_alle_4_sec
read -t 5
done
-----------------------------

Danke , und in froher "erwartung" )))

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von inne » 14.10.2020 12:31:13

.
Zuletzt geändert von inne am 14.10.2020 16:02:04, insgesamt 1-mal geändert.

gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 12:42:40

antwort am thema vorbei
ich nehm nix anderes , will auch keinen dienst starten.
Bitte keine ausschweifungen, auch nur antworten von jemanden,
der diese Thematik kennt aus eig. Erfahrung.

Das gleiche Script zeigt über den gleichen Louncher aufgerufen
eine anderes Verhalten:
-wenn mit Teminal (Haken gesetzt) , läuft es normal
-wenn ohne Terminal als hidden Prozess wird der Befehl read -t ignoriert
die schleife läuft dann ungebremst.

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von inne » 14.10.2020 12:47:41

gusi hat geschrieben: ↑ zum Beitrag ↑
14.10.2020 12:42:40
-wenn mit Teminal (Haken gesetzt) , läuft es normal
-wenn ohne Terminal als hidden Prozess wird der Befehl read -t ignoriert
die schleife läuft dann ungebremst.
Kann ich unter GNOME in testing nicht bestätigen/nachstellen. Beides tut wie ich es hier auf meinem System erwarten würde. Das Ausführen und auch das Im Terminal Ausführen funktioniert.

gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 13:08:01

danke ,
dann ist es ein reines thunar - xfce problem

ich hab das ganze inzwischen in open-suse kde in VM-Ware gecheckt
da hab ich auch die ganze Befehls-refernz , ob in Bash im Terminal,
oder doppelklick , starter , als hidden process, sonstwas
so lange ich es nicht bewusst als sh.. starte

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von inne » 14.10.2020 13:14:30

Habe ich in der Systemüberwachung auch unter Prozesseingenschaften. Beides mal ist es bash.

Das mit dem Starter, also wenn du dort schon explizit Exec=bash <path/to/script> angibst und nicht über den Shebang, hört sich seltsam an, wenn du sagst es ist dennoch die dash. So lese ich das zumindest oben.

gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 13:31:02

yep , ist aber so

im Louncher, oder Desktop-file : bash mein Script

- erzeugt ohne Terminal 2 prozesse : bash , sh
- erzeugt mit Terminal 2 x bash

daran ändert auch nix : bash -c "mein script" , oder ähnliche Scherze

viele bemerkern es vlt. nicht in XFCE, da ganz selten die erw. Befehls-refernz
von bash genutzt wird, ich wollte halt "sleep" durch den internen
bash-befehl read -t 5 ersetzen (den parameter kennt "sh" nicht)
um Speicher zu sparen,
2. kann ich das script jemanden geben,
wo sleep nicht installioert sein muss, da Bash zu jedem kernel gehört,
selbst bei arch-linux zu Beginn

gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 13:43:35

ach so

die shebang steht doch oben im script auf zeile 1
das ändert aber auch nix
auch wenn du es direkt aufrufst , ohne Terminal
gibts immer ein sh dazu
und damit keine bash-refernenz

inne
Beiträge: 3289
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von inne » 14.10.2020 13:49:19

Kannst Du mal die Prozesse dazu zeigen?!
Die kannst Du mittels ps -u $LOGNAME -U $LOGNAME -o pid,comm,cmd rausfischen.
gusi hat geschrieben: ↑ zum Beitrag ↑
14.10.2020 13:43:35
auch wenn du es direkt aufrufst , ohne Terminal
gibts immer ein sh dazu
und damit keine bash-refernenz
Aber bei Xfce, kann ich dir da nicht weiterhelfen, ausser den Aufruf anzupassen als Work-A-Round :mrgreen:

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von heinz » 14.10.2020 14:33:44

gusi hat geschrieben: ↑ zum Beitrag ↑
14.10.2020 11:51:27
wenn read -t nicht geht als hidden process , dann gehen auch die anderen
Erweiterung nicht in Bash zu sh
Ich denke nicht, das es mit der bash zu tun hat.
M.M.n. kann der Befehl read keine Verbindung zum Terminal aufnehmen, da keines da ist.
Der Befehl read benoetigt aber ein Terminal um Eingaben entgegen zu nehmen.
Wenn Du keine Eingaben in Deinem Script zur Laufzeit machen willst, ersetze read -t5
durch sleep 5.

Gruss,
heinz

gusi
Beiträge: 26
Registriert: 14.10.2020 08:56:58

Re: bash-script nur sh , wenn über Luncher oder Destop-File. ohne Terminal sichtbar

Beitrag von gusi » 14.10.2020 18:06:38

hi
Dem ist nicht so,
den Paramter -t gibts nur im Bash-interpreter zum read-befehl

auch wenn du eine normale shell startest
und in Zeile 1 ist shebang /bin/sh aktiviert,
bekommst du genau die Fehlermeldung.
weil das nur die Bash-shell can.

In kde can ich das script laufen lassen , auch als prozess ohne
terminal, er macht genau die 5 sek pause ,( read -t 5)

in gnome gets ja auch, wenn ich oben richtig gelesen habe

Das ist ja aber alles kein Bein-bruch , klar kann ich mit sleep, ping,
sonstwas , ein Script unterbrechen.

Es gibt ja aber noch mehr shells,
ich hab das noch gar nicht getestet, ob bei run ohne sichtbares Terminal
xfce immer die sh nimmt, anstatt die angegebene im Script

Antworten