Si el comando en cuestión siempre va a ser un comando git, solo debe usar las opciones --git-dir
y --work-tree
para decirle a git qué hacer. (O si está haciendo esto mucho en el transcurso de un script, establezca las variables GIT_DIR y GIT_WORK_TREE en las rutas adecuadas)
Si esta es una pregunta general, creo que Andrzej tiene un comienzo para la mejor sugerencia: usa una subcamada La forma correcta de iniciar un subnivel, sin embargo, es el uso de paréntesis, a no utilizar la sustitución de comandos (a menos que realmente desea capturar la salida):
(cd $dir && run_command)
La otra solución, según lo sugerido por Félix y ibread, voluntad por supuesto, funciona, pero ten cuidado: si el comando que estás ejecutando es quizás una función de shell, entonces también podría cd y cambiar el efecto del cd -
al final. Lo más seguro en el caso general es almacenar primero el directorio actual en una variable.
es cd - tan difícil de escribir, otra cosa a tener en cuenta es ir-herramienta http: // code.google.com/p/go-tool/ –
está dentro de un script. nada que ver con la pereza – primeminister