Existe-t-il un moyen de choisir dynamiquement l'interpréteur qui exécute un script? J'ai un script que j'exécute sur deux systèmes différents, et l'interpréteur que je veux utiliser se trouve à différents endroits sur les deux systèmes. Ce que je dois finir par changer, c'est la ligne de hachage à chaque fois que je passe. Je voudrais faire quelque chose qui est l' équivalent logique de cela (je me rends compte que cette construction exacte est impossible):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
Ou encore mieux serait ceci, pour qu'il essaie d'utiliser le premier interprète, et s'il ne le trouve pas, il utilise le second:
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
Évidemment, je peux plutôt l'exécuter comme
/path/to/python/on/systemA myscript.py
ou
/path/on/systemB myscript.py
selon l'endroit où je suis, mais j'ai en fait un script wrapper qui se lance myscript.py, donc je voudrais spécifier le chemin vers l'interpréteur python par programme plutôt qu'à la main.
ifcondition n'est pas une option pour vous? comme,if something; then /bin/sh restofscript.sh elif...