두 쉘뱅이 셸 스크립트를 가지고 있는데, 첫 번째 쉘은 #!/bin/sh을 말하고 몇 줄은 #!/usr/bin/env 파이썬입니다.사이에 쉘 스크립트 변경 셸
이 스크립트에 실행 권한이 주어지고 ./script.sh로 실행되면 스크립트는 제대로 작동하고 첫 번째 부분에서는/bin/sh를 사용하고 후반 부분에서는 python 해석기를 사용합니다.
그러나 스크립트가 sh script.sh로 실행되면 두 번째 스크립트가 인식되지 않고 스크립트가 실패합니다. 스크립트가 명시 적으로 sh script.sh로 실행되면 인터프리터를 강제로 변경할 수 있습니까?
내가 쉬 script.sh로 실행 도구를 통해 스크립트를 실행해야하기 때문에 이것이 필요한 이유
실제 도움을 얻으려면 스크립트를 보여주십시오. –
@Basile Starynkevitch 실제로 파이썬을 실행할 필요가 있지만 도구는 sh script.sh로 쉘 스크립트 만 실행하므로 파이썬으로 인터프리터를 변경해야합니다 – Rnet
'sh script.sh'로 실행하면 shebangs는 모두 무시. 두 번째 것은 무시됩니다. 커널은 첫 번째 커널 만 봅니다. –