Hallo, ich verwende Ubuntu 10.04 und lerne das ROS (Robot Operating System), was bedeutet, dass ich ziemlich viele Shell-Befehle eingebe
Ich erstelle derzeit einige BASH-Skriptdateien, um meine Arbeit zu erleichtern, aber es gibt bestimmte Befehle, die in einer anderen Konsole ausgeführt werden müssen .
Sagen Sie mir also bitte, welche Befehle ich in meine .sh-Datei schreiben muss, damit die Befehle in einem Fenster ausgeführt werden können, und starten Sie dann ein anderes Fenster, in dem andere Befehle ausgeführt werden, jedoch aus derselben .sh-Datei
Oder sie befinden sich in verschiedenen .sh-Dateien, die nur in verschiedenen Konsolen ausgeführt werden müssen.
screen
dasgnome-terminal -e "command"
Ausführen eines Befehls im Hintergrund mit nohup und dem &nohup command &
Antworten:
Sie könnten Ihr Skript in einem anderen Terminalemulatorfenster ausführen, nehme ich an,
gnome-terminal
mit dem BefehlSie können den Prozess zum Definieren einer Funktion in Ihrem Computer vereinfachen
~/.bashrc
wo können Sie den Namen wählen, den Sie anstelle von bevorzugen
start
. Sie verwenden die Funktion auf diese Weise(Sie müssen das Terminal neu starten, damit die Shell über die neue Funktion informiert wird.)
Wie Sie sehen, gibt es ein kleines Problem: Das Fenster wird geschlossen, sobald der Befehl beendet wird. Um dies zu vermeiden, können Sie Ihren Befehl in ein Shell-Skript einschließen und eine letzte Zeile mit einem
read
Befehl hinzufügen :Dann, wenn Sie anrufen
Es wird nicht geschlossen und wartet auf Ihre Eingabe.
Leider ist es schwierig, dies in der
start
Funktion zu automatisieren .quelle
ros
Befehle ein Problem mit demthe gnome-terminal-x
Befehl haben.