Wen ich es im Terminal öffne, zeigt es, was es tut, und wartet dann, bis ich mit exit rausgehe.
Wenn ich es mit der Maus anklicke wird es im Hintergund ausgeführt, ohne dass ich davon etwas mitbekomme. Damit ich sehe, was es treibt, habe ich eine Desktop-Datei angelegt, die es aufruft.
Unter Reiter “Programm” -> “Erweiterte Einstellungen” habe ich “in Terminal ausführen” und “nach Programmende geöffnet lassen” markiert. Das Shell-Script wird aufgerufen, tut ,was es soll, und wartet dann.
Nur, wie komme ich aus dem Terminal wieder raus ohne Datei -> Fenster schließen zu wählen?
Alt+F4 sollte auf jeden Fall funktionieren, das ist die KDE Standardtastenkombination um ein Fenster zu schließen.
Eigentlich soll es so sein, dass das Programm am Ende wartet und der Anwender dann nur noch die Enter-Taste nach einem Hinweis
+++ Zum Verlassen Enter-Taste drücken +++
drückt, um das Terminal zu verlassen.
Warum liest du dann im Script am Ende nicht einfach eine Zeile ein, mit “read” zum Beispiel? (sh. “man 1p read”)
Dann kannst du “nach Programmende geöffnet lassen” deaktivieren und es sollte sich genau so verhalten wie du es willst, also auf ein Return warten.
Du kannst natürlich auch vorher noch mit “echo” eine Meldung ausgeben, “+++ Zum Verlassen Enter-Taste drücken +++” z.B.
Ich lege immer Wert auf Anwender-Komfort. Dazu gehört bei mir die Meldung “Bitte Enter-Taste drücken für Ende” oder so ähnlich. Klar geht auch Alt-F4, Datei -> Fenster schließen oder mit der Maus oben rechts auf das X. Aber das für mich nicht so richtig Komfort
Das mit der Zeile habe ich nicht verstanden. Wenn ich im Script noch ein
man lp read
eingeben, wird Text angezeigt. Das verwirrt nur. Besser wäre ein Exit oder etwas Kompatibles, das schon da steht und mit der Enter-Taste ausgeführt wird, was aber offenbar nicht zu klappen scheint. Wahrscheinlich ist es einfach zu einfach und zu naheliegend
Nein! Du sollst “read” im script einfügen. Das wartet darauf, dass der Anwender Enter drückt. Mit “echo” kannst du einen Text ausgeben.
Also so, z.B.:
#!/bin/bash
ls -l
echo "Bitte Enter-Taste drücken für Ende."
read
Wenn du “man 1p read” (und das ist die Zahl ‘1’, nicht der Buchstabe ‘l’) in einer Konsole eintippst, wird die Handbuchseite (“man page”) des Befehls “read” angezeigt. Du kannst aber auch “#read” in Konquerors Adresszeile oder in den Alt+F2 Dialog eingeben…