有没有办法动态选择正在执行脚本的解释器?我有一个在两个不同系统上运行的脚本,并且我要使用的解释器位于两个系统上的不同位置。我最终必须要做的是每次切换时都更改hashbang行。我愿做一些事情,是合乎逻辑的该等效(我知道这个确切的结构是不可能的):
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...