Je veux créer et exécuter un bash fonction qui :
-
cd
dans le répertoire d'un projet - Ouvrez un nouvel onglet dans Terminal dans le même répertoire.
- Ouvrir mes outils de développement et lancer les services de développement
L'élément #2 ne fonctionne pas comme prévu, le nouvel onglet ne change pas de répertoire.
Voici le script (les deux fonctions résidant dans mon .bashrc fichier :
# 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'est-ce que je fais de mal ? Que fait ce code que je ne connais pas ?
Mise à jour
Le chemin du répertoire auquel j'essaie d'accéder comporte des espaces. Mais l'échappement de l'espace ne m'aide pas du tout. Le script fonctionne avec des chemins qui ne comportent pas d'espaces.