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

関連情報