
Estoy intentando obtener el directorio donde se encuentra mi script usando:
scriptdir=`dirname $0`
pero esto me da el siguiente error:
dirname: invalid option -- 'b'
Try `dirname --help' for more information.
y probé lo que recomendaron (es decir dirname --help
) y decía comando no encontrado. ¿Como puedo solucionar este problema?
Estoy intentando utilizar la variable scriptdir para poder compilar el siguiente programa java:
java -mx800m -cp "$scriptdir/*" edu.stanford.nlp.parser.lexparser.LexicalizedParser -retainTmpSubcategories -outputFormat "typedDependencies" -outputFormatOptions "basicDependecies" edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz ./sentences/100000.txt > ./parsedsentences/100000.txt
Respuesta1
dirname -- "$0"
El--(guión guión) deja dirname
de procesar cualquier opción en el argumento. Cite siempre $0
en caso de que haya espacios en el nombre.
Respuesta2
utilizar comillas. Puede solucionar su problema.
scriptdir=`dirname -- "$0"`
Personalmente prefiero esta notación en los scripts bash, pero no es obligatoria:
scriptdir="$(command dirname -- "${0}")"
EDITAR:
Puedes encontrar la respuesta en las respuestas anombre completo del script y ruta $0 no visibles cuando se llama.
EDITAR 2:
Integró la respuesta correcta.