2011-09-01 7 views
6

Intentar ejecutar un script sencillo unido a mi proyecto Xcode de la siguiente manera ...

if [ -d '$HOME/data' ]; 
then 
    cd "$HOME/data/" 
    rsync -t *.plist '$SRCROOT/data/' 
fi 

exit 0 

El guión parece funcionar bien si me quedo fuera de XCode pero cuando se ejecuta desde XCode que estoy recibiendo el siguiente error ...

line 2: SRCROOT: command not found 

Parece la variable SRCROOT no es detectable en el guión, pero mi entendimiento es que esta es una de las variables de entorno que deben ser transmitidas y accesible para el guion. ¿Cualquier pensamiento?

Respuesta

10

Resulta que esto fue mi culpa. El guión en realidad no se llamaba en absoluto. En XCode Me refería a la trayectoria de la secuencia de comandos con ...

"./$(SRCROOT)/myScript.sh" 

conmutación a ...

"$SRCROOT/myScript.sh" 

corregido el problema y, de hecho me puede acceder desde $ SRCROOT mi guión ahora.

+0

¿significa esto que si ejecuta un script de shell desde NStask, puede acceder a variables como $ PROJECT_FILE_PATH, etc. desde los scripts de su shell en el equipo de la aplicación desplegada? sería genial usar las variables del paquete de recursos en bash! –

+0

Eso suena como si fuera genial. Lamentablemente, nunca he intentado algo así. –

+0

Me sale este mismo problema. Cuando agrega un "archivo de entrada", directamente debajo del área de texto Ejecutar script, el nombre de ruta predeterminado es '$ (SRCROOT)/myfile'. Pero por esta respuesta debes usar '$ SRCROOT'. +1 – pkamb

Cuestiones relacionadas