Quiero crear y ejecutar un bash función que:
cd
en el directorio de un proyecto- Abrir una nueva pestaña en Terminal en el mismo directorio
- Abrir mis herramientas de desarrollo e iniciar los servicios de desarrollo
El punto #2 no funciona como se esperaba, la nueva pestaña no cambia de directorio.
Aquí está el script (ambas funciones residen en mi .bashrc archivo:
# Open a new tab (needs a path as an argument)
new_terminal_tab(){
osascript -e "tell application \"Terminal\"" \
-e "tell application \"System Events\" to keystroke \"t\" using {command down}" \
-e "do script \"cd $1; clear;\" in front window" \
-e "end tell"
> /dev/null
}
# Set up workspace
affiliatesForm(){
# cd into the project's directory
cd /Users/iamuser/Documents/path/to/project\ file
# Get the working directory
pwd=`pwd`
# Open a new tab in Terminal and cd into project's directory
# The idea is to have a tab with Rails server output, and another tab in the project's directory
new_terminal_tab $pwd
# Open the project in Sublime Text 2
subl $pwd
# Start the Rails server
rails server
}
¿Qué estoy haciendo mal? ¿Qué hace este código que yo no sé?
Actualización
La ruta del directorio al que intento acceder tiene espacios. Pero escapar el espacio no ayuda en absoluto. El script funciona con rutas que no incluyen espacios.