Bir komut dosyasını çalıştıran yorumlayıcıyı dinamik olarak seçmenin bir yolu var mı? İki farklı sistemde çalıştırdığım bir senaryom var ve kullanmak istediğim tercüman iki sistemde farklı yerlerde bulunuyor. Ne kadar bitirmek zorunda kaldım her zaman hashbang hattı değiştirmek. Ben bunun mantıksal eşdeğer bir şey yapmak istiyorum (Bu kesin yapı imkansız olduğunu fark):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
Ya da daha iyisi bu olurdu, böylece ilk yorumlayıcıyı kullanmaya çalışır ve bulamazsa ikincisini kullanır:
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
Açıkçası, bunun yerine
nerede olduğuma bağlı olarak /path/to/python/on/systemA myscript.py
veya
çalıştırabilirim
/path/on/systemB myscript.py
, ancak aslında başlatılan bir sarıcı komut dosyası var myscript.py
, bu yüzden python yorumlayıcısının yolunu programlı olarak elle değil belirtmek istiyorum.
if
koşulu kullanmak sizin için bir seçenek değil mi? gibi,if something; then /bin/sh restofscript.sh elif...