Esiste un modo per scegliere in modo dinamico l'interprete che esegue uno script? Ho uno script che sto eseguendo su due sistemi diversi e l'interprete che voglio usare si trova in posizioni diverse sui due sistemi. Quello che alla fine devo fare è cambiare la linea di hashbang ogni volta che passo. Vorrei fare qualcosa che è l' equivalente logico di questo (mi rendo conto che questo costrutto esatto è impossibile):
if running on system A:
#!/path/to/python/on/systemA
elif running on system B:
#!/path/on/systemB
#Rest of script goes here
O ancora meglio sarebbe questo, in modo che tenti di usare il primo interprete, e se non lo trova usa il secondo:
try:
#!/path/to/python/on/systemA
except:
#!path/on/systemB
#Rest of script goes here
Ovviamente, posso invece eseguirlo come
/path/to/python/on/systemA myscript.py
o in
/path/on/systemB myscript.py
base a dove mi trovo, ma in realtà ho uno script wrapper che si avvia myscript.py
, quindi vorrei specificare il percorso dell'interprete Python a livello di programmazione piuttosto che a mano.
if
condizione non è un'opzione per te? tipo,if something; then /bin/sh restofscript.sh elif...