Ich habe ein einfaches App-Startskript, mit dem einige Apps in einem bestimmten Ordner in einem bestimmten Arbeitsbereich geöffnet werden:
#!/bin/bash
if [[ -n "$2" ]]
then
wmctrl -s $2
fi
terminator --working-directory=$1 &
subl $1 &
smartgithg.sh $1 &
chromium-browser &
wenn ich es ausführe:
petr@sova:~$ open_project work/dyme/ 4
petr@sova:~$ #### some message or whatever
#### the console hangs here, and I need to <ctrl>+c in order to use it again
Wie kann ich den Befehl „verlassen“ und eine normale Konsolen-Eingabeaufforderung beibehalten?
Antwort1
Wenn Sie Subshells ausschalten möchten, können Sie das eingebaute
()
Sonderzeichen, um dies zu tun. Um sie im Hintergrund laufen zu lassen, verwenden Sie Ihre
und
Mehr zu Subshells können Sie hier lesen:Subshells bei TLDP - Erweiterter Bash-Scripting-Leitfaden
Dies würde dazu führen,
#!/bin/bash
if [[ -n "$2" ]]
then
wmctrl -s $2
fi
(terminator --working-directory=$1) &
(subl $1 )&
(smartgithg.sh $1 )&
(chromium-browser )&