我看過Can a Bash script tell what directory it's stored in?,它表明我可以通過DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
得到腳本目錄。Bash腳本改變工作目錄到它所在的目錄
我發現我可以使用cd
命令來更改工作目錄。
這是import.sh的內容。它在/Users/gqqnbig/SourceCode/Java/PlayerStatisticReader/bin
。
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd DIR
java -cp .;jsoup-1.7.3.jar;mysql-connector-java-5.1.29-bin.jar globalVisionEntertainment.nba.Program %1
這是執行腳本後得到的結果。
Macintosh:PlayerStatisticReader gqqnbig$ pwd
/Users/gqqnbig/SourceCode/Java/PlayerStatisticReader
Macintosh:PlayerStatisticReader gqqnbig$ bin/import.sh
: command not found 2:
: No such file or directoryDIR
: command not found 4:
我在Macintosh的默認終端中執行它。
爲什麼找不到該命令?我怎樣才能使它工作?
基於錯誤消息,它看起來像'import.sh'使用DOS行尾。請務必保存該文件以代替使用UNIX/OS X行尾。 – chepner
你是對的。應用了傻瓜怪胎的方法後,我的腳本就起作用了。此外,我必須改變;到:在類路徑選項中。 – Gqqnbig
可能重複的[:命令不foundop/dominio.sh:第2行:](http://stackoverflow.com/questions/21889410/command-not-foundop-dominio-sh-line-2) – tripleee