要得到正在執(zhí)行的程序/腳本自身所存放的絕對路徑,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 則有 System.Windows.Forms.Application.StartupPath ; java 似乎沒有什么比較直接的方法,只能利用 CodeSource 來間接獲取 。而在 linux shell 腳本里面如果想得到當(dāng)前腳本文件存放的絕對路徑,也沒有太現(xiàn)成的命令可以調(diào)用,不過可以通過下面的語句來獲取:
代碼如下:
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
echo "full path to currently executed script is : ${baseDirForScriptSelf}"
雖說大部分情況下我們并不需要這樣的絕對路徑來完成工作;但如果要把多個腳本、數(shù)據(jù)文件等內(nèi)容打包作為一個整體來交付別人使用,又希望不論用戶拷貝到哪個目錄下執(zhí)行腳本都能夠正確的找到這個包里面的其他內(nèi)容的話,用這樣的腳本來自動定位包的根目錄應(yīng)該是個比較魯棒的做法。
更多信息請查看IT技術(shù)專欄