1. 程式人生 > >shell指令碼呼叫python指令碼的路徑問題

shell指令碼呼叫python指令碼的路徑問題

指令碼的相互呼叫中,只有在同一級目錄下才可以使用__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指令碼的當前目錄了