スクリプトを実行しているインタープリターを動的に選択する方法はありますか?2つの異なるシステムで実行しているスクリプトがあり、使用したいインタープリターは2つのシステムの異なる場所にあります。最終的に私がしなければならないのは、切り替えるたびにハッシュバングの行を変更することです。私はこれと論理的に同等の何かをしたいと思います(この正確な構成は不可能であると認識しています):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
または、最初のインタープリターを使用しようとし、見つからない場合は2番目のインタープリターを使用するように、これがさらに良いでしょう。
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
明らかに、私は代わりに、/path/to/python/on/systemA myscript.py
または
/path/on/systemB myscript.py
現在の場所に応じて実行でき
ますが、実際にはを起動するラッパースクリプトがmyscript.py
あるため、手作業ではなくプログラムでpythonインタープリターへのパスを指定したいと思います。
if
条件を使用することはオプションではありませんか?のようにif something; then /bin/sh restofscript.sh elif...