Führen Sie einen Befehl in einem Terminal aus, und verlassen Sie den Befehl im Terminal, wenn er abgeschlossen ist

453
Otto Nahmee

Ich habe ein Problem, bei dem ich einen Befehl von einem Terminal aus starten muss und das Terminal mit dem Befehl, den ich verwendet habe, offen lassen soll, sobald er abgeschlossen ist. Der Grund ist, dass ich ihn je nach Umständen möglicherweise erneut ausführen muss.

Ich habe ein Bash-Skript geschrieben, um mehrere Terminalbefehle auszuführen. Es sieht so aus

$ launch.bash /path/to/data

Und der Ausschnitt sieht so aus

xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1; bash"

Jetzt wird das Python-Skript gestartet, und wenn der Vorgang abgeschlossen ist, wird der von mir verwendete Befehl gedruckt. Es wäre schön, den Befehl in die Befehlszeile zu drucken, damit ich die Eingabetaste drücken kann. Gibt es eine Möglichkeit, dies zu tun?

0

1 Antwort auf die Frage

4
mtak

Den Befehl auf der Kommandozeile erneut einzugeben, ist nicht einfach (ohne Emulation einer Tastatur in der Software kenne ich keine andere Möglichkeit). Sie können den Befehl erneut ausführen, wenn Sie die Eingabetaste drücken:

while true do xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1" echo "Press enter to run the command again or CTRL+C to cancel" read done 

Oder Sie können einfach drücken , um zum letzten Befehl zurückzukehren, und drücken Sie die Eingabetaste.