Apakah ada cara untuk secara dinamis memilih penerjemah yang menjalankan skrip? Saya memiliki skrip yang saya jalankan di dua sistem yang berbeda, dan juru bahasa yang ingin saya gunakan terletak di lokasi yang berbeda di kedua sistem. Apa yang saya akhirnya harus mengubah baris hashbang setiap kali saya beralih. Saya ingin melakukan sesuatu yang setara logis dengan ini (saya menyadari bahwa konstruksi yang tepat ini tidak mungkin):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
Atau yang lebih baik adalah ini, sehingga ia mencoba menggunakan juru bahasa pertama, dan jika tidak menemukannya menggunakan yang kedua:
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
Jelas, saya bisa menjalankannya sebagai
/path/to/python/on/systemA myscript.py
atau
/path/on/systemB myscript.py
tergantung di mana saya berada, tetapi saya benar-benar memiliki skrip pembungkus yang diluncurkan myscript.py
, jadi saya ingin menentukan jalur ke juru bahasa python secara terprogram secara terprogram daripada dengan tangan.
if
kondisinya bukan pilihan bagi Anda? seperti,if something; then /bin/sh restofscript.sh elif...