如何在使用 env 的应用程序上使用标志?

如何在使用 env 的应用程序上使用标志?

env在 shell 脚本中使用如下:

#!/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

相关内容