Ich würde gerne wissen, ob das möglich ist.
Ich möchte ein Skript oder einen Befehl einrichten, der 5 Registerkarten öffnet und für jede geöffnete Registerkarte ein eigenes Verzeichnis angibt
Alles im selben Fenster
tab 1: open ~/folderA1
tab 2: open ~/folderA2
tab 3: open ~/folderA3
tab 4: open ~/folderA4
tab 5: open ~/folderA5
Dies befindet sich auf iTerm2 unter Mac OS X.
Ich weiß, dass ich etwas wie CMD+T tun und dann jeden von ihnen mit cd ~/folderA1
usw. öffnen kann, aber wenn es einen Befehl gibt, den ich einrichten kann, oder ein Skript, das nach der Ausführung alles auf einmal erledigt, würde ich gerne wissen, ob es eine Möglichkeit gibt, dies zu tun.
Antwort1
Aktualisieren:Bei neueren iTerm-Versionen müssen Sie die Syntax ändern. Das Ganze würde dann etwa so aussehen:
tell application "iTerm"
tell current window
create tab with default profile
end tell
tell current tab of current window
set _new_session to last item of sessions
end tell
tell _new_session
select
write text "cd \"$dir\""
end tell
end tell
Siehe auchdiese Antwort hier.
Für ältere iTerm-Versionen:
Das Drehbuch übernehmenaus meiner Antwort hierkönnen Sie Folgendes tun:
launch () {
for dir in ~/folderA{1..5}; do
/usr/bin/osascript <<-EOF
tell application "iTerm"
make new terminal
tell the current terminal
activate current session
launch session "Default Session"
tell the last session
write text "cd \"$dir\""
end tell
end tell
end tell
EOF
done
}
Um zu erklären, was los ist:
Wir erstellen eine Shell-Funktion namens
launch
, sodass Sie diese in Ihrem~/.bash_profile
oder wo immer Sie möchten, beim Start ausführen lassen können.Wir durchlaufen das Ergebnis der Bash-Klammernerweiterung
~/folderA{1..5}
, was Sie~/folderA1
durchführt~/folderA5
.Wir rufen die iTerm2-AppleScript-Bibliothek auf,
osascript
um eine neue Registerkarte zu erstellen, sie zu aktivieren, die Standard-Sitzung zu starten undcd
zum angegebenen Verzeichnis zu gelangen.
Antwort2
itermocilkann damit umgehen.
Mit dem Folgenden in einer Datei namens würde ~/.itermocil/foo.yml
der Befehl itermocil foo
5 Tabs in den angegebenen Ordnern öffnen. (Das ist allerdings ein wirklich einfaches Layout – itermocil kann noch viel mehr.)
windows:
- name: '1'
root: ~/folderA1
layout: even-horizontal
panes:
- focus: true
- name: '2'
root: ~/folderA2
layout: even-horizontal
panes:
- focus: true
- name: '3'
root: ~/folderA3
layout: even-horizontal
panes:
- focus: true
- name: '4'
root: ~/folderA4
layout: even-horizontal
panes:
- focus: true
- name: '5'
root: ~/folderA5
layout: even-horizontal
panes:
- focus: true