Quiero crear y ejecutar una función bash que:
-
cd
en el directorio de un proyecto - Abre una nueva pestaña en la Terminal en el mismo directorio
- Abre mis herramientas de desarrollo e inicia los servicios de desarrollo
El elemento # 2 no funciona como se esperaba, la nueva pestaña no cambia el directorio.
Aquí está el script (ambas funciones residen en mi archivo .bashrc :
# 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é está haciendo este código que no sé?
Actualizar
La ruta del directorio al que estoy tratando de acceder tiene espacios en él. Pero escapar del espacio no ayuda en absoluto. El script funciona con rutas que no incluyen espacios.