我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
开始有该标志。我猜大多数手册页都没有更新,并且仍然有以前的信息(例如:没有标志)。-S
8.30
8.30
8.28
-S
参考:
https://jhermann.github.io/blog/linux/know-how/2020/02/28/env_with_arguments.html https://linux.die.net/man/1/env