2016-08-04 8 views
1

私はxyzというディレクトリに置かれたMACにbashスクリプトを書いています。 今、私たちはだから私はこのbashスクリプトは、一般的なMAC:Pythonスクリプトを呼び出すbashスクリプト。これらのスクリプトは両方とも同じディレクトリにあります。

になりたい、このPythonスクリプトは、常にこのbashスクリプトが

あるディレクトリになることも言うことができ、同じディレクトリXYZ

でのpythonファイルを持っています

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/labuser/Desktop/Installer/OpenURL_GenericNotification.pyいくつかの引数は

だから私は /ユーザ/ labuser /デスクトップを交換したいです/ Installer/ これでどこからでもcriptが実行されているpythonスクリプトは、$ cd /Users/labuser/Desktop/Installer /これのようないくつかのシステム変数によって自動的に計算されます$ MACのWindowsでの方法はわかりません このスクリプトについてどうすればいいですか?

+0

特に3.5をPythonのはなぜ?ユーザーが、例えば2.7しかインストールされていない場合はどうなりますか?そして、すべてのスクリプトが実行している場合は、pythonスクリプトを呼び出すと、全く値を加えません。 – Droppy

+0

理由私が書いたスクリプトには、Python 2.7で利用できないいくつかのインポートがあります。http.client –

答えて

0

Bashスクリプトでは、スクリプトのパスは$0変数に格納されます。

dirnameコマンドは、パス(ファイル名が削除された)のディレクトリ部分を返します。

は、スクリプトのベースディレクトリを取得するために$0dirnameを使用し、cdそのパスにして、現在のディレクトリにPythonスクリプトを実行することもできます。

cd "$(dirname "$0")" 

./OpenURL_GenericNotification.py 
関連する問題