dirname -- "$0"
O - (dash dash) impede que dirname
processe quaisquer opções no argumento. Sempre cite $0
caso haja espaços no nome.
Estou tentando obter o diretório em que 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 eu tentei o que eles recomendaram (por exemplo,dirname --help
) e ele disse que o comando não foi 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
use aspas. Pode corrigir o seu problema.
scriptdir='dirname -- "$0"'
Eu pessoalmente prefiro essa notação em scripts bash, mas isso não é obrigatório:
scriptdir="$(command dirname -- "${0}")"
EDITAR:
Você pode encontrar a resposta nas respostas a nome completo do script e caminho $ 0 não visível quando chamado .
EDIT 2:
Integrou a resposta certa.
Tags unix shell-script