
我正在嘗試使用以下命令來獲取腳本所在的目錄:
scriptdir=`dirname $0`
但這給了我以下錯誤:
dirname: invalid option -- 'b'
Try `dirname --help' for more information.
我嘗試了他們推薦的(即dirname --help
),它說找不到命令。我該如何解決這個問題?
我正在嘗試使用 scriptdir 變量,以便我可以編譯以下 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
答案1
dirname -- "$0"
這--(dash dash) 停止dirname
處理參數中的任何選項。$0
如果名稱中有空格,請務必引用。
答案2
使用引號。它可能會解決您的問題。
scriptdir=`dirname -- "$0"`
我個人更喜歡 bash 腳本中的這種表示法,但這不是強制性的:
scriptdir="$(command dirname -- "${0}")"
編輯:
您可以在回覆中找到答案腳本全名和路徑 $0 呼叫時不可見。
編輯2:
綜合正確答案。