Me gustaría saber si esto es posible.
Quiero configurar algún script o comando que abra 5 pestañas y cada pestaña que se abra tendrá su propio directorio especificado
Todo en la misma ventana
tab 1: open ~/folderA1
tab 2: open ~/folderA2
tab 3: open ~/folderA3
tab 4: open ~/folderA4
tab 5: open ~/folderA5
Esto está en iTerm2 en Mac OS X.
Sé que puedo hacer algo como CMD+T y luego abrir cada uno de ellos usando cd ~/folderA1
y así sucesivamente, pero si hay un comando que puedo configurar o un script que después de ejecutarlo lo harán todos a la vez, me encantaría saberlo. si hay una manera de hacerlo.
Respuesta1
Actualizar:El iTerm más nuevo requiere que cambies la sintaxis, por lo que se vería así:
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
Ver tambiénesta respuesta aquí.
Para versiones anteriores de iTerm:
Tomando el guiónde mi respuesta aquí, puedes hacer algo como esto:
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
}
Para explicar lo que está pasando:
Creamos una función de shell llamada
launch
, para que puedas ponerla en tu~/.bash_profile
o donde quieras que se ejecute al inicio.Recorremos el resultado de la expansión de llaves de Bash
~/folderA{1..5}
, lo que le permite~/folderA1
pasar~/folderA5
.Llamamos a la biblioteca iTerm2 AppleScript
osascript
para crear una nueva pestaña, activarla, iniciar la sesión predeterminada ycd
acceder al directorio especificado.
Respuesta2
itermocilpuede manejar esto.
Con lo siguiente en un archivo llamado ~/.itermocil/foo.yml
, el comando itermocil foo
abriría 5 pestañas en las carpetas especificadas. (Sin embargo, este es un diseño realmente simple: itermocil puede hacer mucho más que esto).
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