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.
if
condition n'est pas une option pour vous? comme,if something; then /bin/sh restofscript.sh elif...