스크립트를 실행하는 인터프리터를 동적으로 선택할 수있는 방법이 있습니까? 두 개의 다른 시스템에서 실행중인 스크립트가 있는데 사용하려는 인터프리터가 두 시스템의 다른 위치에 있습니다. 내가 끝내야 할 것은 전환 할 때마다 해시 뱅 라인을 변경하는 것입니다. 나는 이것과 논리적으로 동등한 것을하고 싶습니다 (이 정확한 구조는 불가능하다는 것을 알고 있습니다).
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
있으므로 직접 파이썬 인터프리터의 경로를 프로그래밍 방식으로 지정하고 싶습니다.
if
조건을 사용하는 것은 당신에게 옵션이 아닙니다. 같은if something; then /bin/sh restofscript.sh elif...