Чи є спосіб динамічного вибору інтерпретатора, який виконує сценарій? У мене є сценарій, що я працюю на двох різних системах, і інтерпретатор, який я хочу використовувати, розташований у різних місцях на двох системах. Що мені доводиться робити - це змінювати лінію хешбангу кожен раз, коли я переключаюсь. Я хотів би зробити щось, що є логічним еквівалентом цього (я розумію, що ця точна конструкція неможлива):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
Або ще краще було б це, щоб він намагався використовувати перший інтерпретатор, а якщо він не знаходить, він використовує другий:
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...