Unter Windows kann ich jedes Programm von der Eingabeaufforderung aus ausführen, indem ich Folgendes eingebe:
c:> start startup.sh
und Windows führt startup.sh in einem anderen Eingabeaufforderungsfenster (Terminal) aus.
Wie kann ich dasselbe auf dem Mac (Linux Bash) tun, sodass das Skript startup.sh
1) in einem anderen Terminalfenster und
2) in einer anderen Terminalregisterkarte ausgeführt wird?
Update: Wie erwähnt, möchte ich ein Programm (z. B. mc) oder ein Shellskript in einem anderen Tab oder Fenster starten – nicht nur ein Shellskript.
Antwort1
Sie können ein Skript in einer neuen Terminalinstanz mit folgendem starten:
open -b com.apple.terminal test.sh
wobei test.sh
der Name des Skripts ist, das Sie ausführen möchten.
@anjanbecchu hat das folgende Skript gefunden:
TAB_NAME=$1; COMMAND=$2; osascript -e "tell application \"Terminal\"" -e "tell application \"System Events\" to keystroke \"t\" using {command down}" -e "do script \"printf '\\\e]1;$TAB_NAME\\\a'; $COMMAND\" in front window" -e "end tell" > /dev/null