
Estou tentando obter o diretório onde meu script está usando:
scriptdir=`dirname $0`
mas isso me dá o seguinte erro:
dirname: invalid option -- 'b'
Try `dirname --help' for more information.
e tentei o que eles recomendaram (ou seja dirname --help
) e dizia comando não encontrado. Como posso resolver este problema?
Estou tentando usar a variável scriptdir para poder compilar o seguinte 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
Responder1
dirname -- "$0"
O--(traço traço) impede dirname
o processamento de qualquer opção no argumento. Sempre cite $0
caso haja espaços no nome.
Responder2
use aspas. Isso pode resolver seu problema.
scriptdir=`dirname -- "$0"`
Pessoalmente, prefiro essa notação em scripts bash, mas não é obrigatória:
scriptdir="$(command dirname -- "${0}")"
EDITAR:
Você pode encontrar a resposta nas respostas anome completo e caminho do script $0 não visíveis quando chamado.
EDITAR 2:
Integrou a resposta certa.