"-e" war der richtige Schalter, so wartet das Terminalfenster auf eine Eingabe. Bei "-c" erscheint es gar nicht oder aber ist schneller wieder zu und weg, als ich es sah

Im Terminalfenster erscheint nur der (gewöhnliche) Prompt.
Code: Alles auswählen
Function TERMINATOR (BEFEHLSFOLGE AS String, Optional WARTEN)
'20220212
AN = "/tmp/LO_BASICSCRIPT_ARBEITET_" & Time
If Not IsMissing(WARTEN) Then
BEFEHLSFOLGE = "touch " + AN + "; " + BEFEHLSFOLGE + "; rm -f " + AN
EndIf
shell("gnome-terminal", 1, "-- /bin/bash -c '" + BEFEHLSFOLGE + "'", True)
Do While FileExists(AN)
Wait 100
Loop
End Function
Code: Alles auswählen
sub TEST_BASICALLY
a = time
b= shell("konsole",1,"-e sleep 5", true)
print a , b , time
end sub
Code: Alles auswählen
sub TEST_RUBBISH
a = time
b= shell("konsole",1,"-e 'date & sleep 1 & date & sleep 1 & date & sleep 1 & date & sleep 1'", true)
print a , b , time
end sub
Code: Alles auswählen
sub TEST_SHELL
a = time
b= shell("konsole",1,"-e /home/$USER/myscript", true)
print a , b , time
end sub
Code: Alles auswählen
sub TEST_SHELL_SCRIPT
dummy = shell("/home/$USER/write_bash",1,"date#&&#sleep#1#&&#date#&&#sleep#1#&&#date#&&#sleep#1#&&#date#&&#sleep#1 echo#FERTIG sleep#5")
a = time
' consider using '--hold'!
b = shell("konsole",1,"-e /tmp/myscript", true)
print a , b , time
end sub
Welches der vielen hättest Du denn gern? Bsp.: echo hello; sleep 2; echo hello2; sleep 2ich sagte Dir doch, Du sollst die gesamte Codezeile des Makros posten...
Nein, leider nicht. Egal ob ein "einfacher" Bash-Befehl oder eine Folge wie im obigen Beispiel, der bSync-Parameter hat auf meinem System - keine - Auswirkung!Ein einzelner Befehl verhält sich exakt so wie Du das erwartest:
Mit BEFEHLSFOLGE meine ich BEFEHL[; BEFEHL2][; BEFEHL3]... usw. Ein Befehl kann dabei auch das Aufrufen eines Bash-Scripts sein."BEFEHLSFOLGE" legt aber nahe, dass es verschiedene Befehle sind, und die werden in einem Terminalemulator parallel gestartet.
Du siehst in meinem Code, dass ich die starke Quotierung(?) mit einfachen Anführungsstrichen gewählt habe. Bis jetzt funzt mein (Tool-)Makro ohne Beanstandungen. Demzufolge entfallen für mich auch etwaige Kaschierungen oder ähnlich ...ist zu bedenken, dass die shell-Funktion die Parameter IMMER bei Leerzeichen trennt, und bash die Parameter nochmals per IFS trennt...
Code: Alles auswählen
-- /bin/bash
Code: Alles auswählen
shell("bash", 1, " -c '" + BEFEHLSFOLGE + "'", true)