¿Hay alguna forma de elegir dinámicamente el intérprete que ejecuta un script? Tengo un script que estoy ejecutando en dos sistemas diferentes, y el intérprete que quiero usar está ubicado en diferentes ubicaciones en los dos sistemas. Lo que tengo que hacer es cambiar la línea hashbang cada vez que cambio. Me gustaría hacer algo que sea el equivalente lógico de esto (me doy cuenta de que esta construcción exacta es imposible):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
O incluso mejor sería esto, de modo que intente usar el primer intérprete, y si no lo encuentra, usa el segundo:
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
Obviamente, en su lugar, puedo ejecutarlo como
/path/to/python/on/systemA myscript.py
o
/path/on/systemB myscript.py
dependiendo de dónde estoy, pero en realidad tengo un script de contenedor que se inicia myscript.py
, por lo que me gustaría especificar la ruta al intérprete de Python mediante programación en lugar de hacerlo a mano.
if
condición no es una opción para usted? como,if something; then /bin/sh restofscript.sh elif...