Tengo un script de shell más grande que maneja cosas diferentes.Shell Script y espacios en la ruta
Se obtendrá su propio lugar por la siguiente ...
BASEDIR=`dirname $0`/..
BASEDIR=`(cd "$BASEDIR"; pwd)`
entonces se usará BASEDIR crear otras variables como
REPO="$BASEDIR"/repo
Pero el problema es que este script no funciona si la ruta contiene espacios donde se ejecuta actualmente.
Entonces la pregunta es: ¿existe una buena solución para resolver ese problema?
las que Shell está utilizando? – eaj
Esto debería ser posix, porque debería ejecutarse en tantos unixes como sea posible ... Aquí puede ver el script que quiero decir (se usa como plantilla). http://svn.codehaus.org/mojo/trunk/mojo/appassembler/appassembler-maven-plugin/src/main/resources/org/codehaus/mojo/appassembler/daemon/script/unixBinTemplate – khmarbaise
Ejecuté los comandos de arriba en ambos 'bash' y' dash' (lo que Ubuntu usa para 'sh'), en un directorio cuyo nombre de directorio padre tiene espacios. Parece que funciona bien. ¿Qué sucede si ejecuta los comandos desde un terminal en un directorio problemático, seguido de 'echo" $ REPO "'? Supongo que olvidó citar '" $ REPO "' en alguna parte. –