env를 사용하는 애플리케이션에서 플래그를 사용하는 방법은 무엇입니까? [복사]

env를 사용하는 애플리케이션에서 플래그를 사용하는 방법은 무엇입니까? [복사]

env쉘 스크립트에서 다음을 사용합니다 .

#!/usr/bin/env bash
...
...

주로 내 스크립트를 더 이식 가능하게 만들기 위한 것입니다. 어쨌든, 내가 사용하고 있는 애플리케이션에 매개변수를 추가하는 것이 env항상 작동하지 않는다는 것을 알았습니다...

#!/usr/bin/env bash -x
...
...

생산하다

/usr/bin/env: ‘bash -x’: No such file or directory
/usr/bin/env: use -[v]S to pass options in shebang lines

매개변수의 형식이 올바른지 잘 모르겠습니다. 나는 맨 페이지를 보았지만 (내가 아는 한) 유용한 것을 찾지 못했습니다.

답변1

-S다음과 같은 플래그를 사용하는 것 같습니다 env.

#!/usr/bin/env -S bash -x
...
...

일하다.

흥미롭게도 어떤 이유로 인해 작동하지 않습니다.매뉴얼 페이지그러나 --help출력에는 표시됩니다.

coreutils가 업데이트되었을 때 env플래그가 존재하기 시작했다는 사실과 관련이 있을 수 있습니다. 대부분의 매뉴얼 페이지는 업데이트되지 않았으며 여전히 이전 정보(예: 플래그 없음)를 갖고 있는 것 같습니다.-S8.308.308.28-S

인용하다:

https://jhermann.github.io/blog/linux/know-how/2020/02/28/env_with_arguments.html https://linux.die.net/man/1/env

관련 정보