shell指令碼呼叫python指令碼的路徑問題
阿新 • • 發佈:2019-02-14
指令碼的相互呼叫中,只有在同一級目錄下才可以使用__file__引數去獲取路徑名,(在shell裡使用pwd也同樣),否則,使用的就是主檔案(最開始執行的指令碼程式)的所在位置,是錯誤路徑:一定要注意當期那執行主檔案是誰
而
shell指令碼相互呼叫時路徑也要注意部分命令會使用當前檔案路徑:參見
http://blog.csdn.net/longshenlmj/article/details/16887505[[email protected] script]$ vim testobseve.sh
1 file_path=`dirname $0`
2 echo $file_path
3
4 testfile="$file_path/observereport"
5 python $testfile/test.py
test.py:
import os
import sys
file_path=os.path.dirname(os.path.abspath("__file__"))
print file_path
檔案test.py在/home/www/allyes/mifc/mIFC-BE/current/script/observereport
是script的下一級目錄
而輸出為:
[[email protected] script]$ sh testobseve.sh
.
/home/www/mifc/mIFC-BE/mifc-BE/script
可以看出 只能輸出shell指令碼的當前目錄了