这种风格如何运作:
#!/bin/bash -x
#...
但这不是吗?
#!/usr/bin/env bash -x
#...
它给了我一个未找到的错误。跟踪模式需要稍后设置为set -x
?
请注意,我可以使用#!/usr/bin/env bash
。
答案 0 :(得分:9)
shebang-line机制只解析第一个空格,并将该行的其余部分作为一个参数传递给可执行文件,因此编写
#!/usr/bin/env bash -x
就像打电话
$ /usr/bin/env "bash -x"
在命令行上。
没有名为"bash -x"
的可执行文件(命令名称中有空格),因此失败。
答案 1 :(得分:7)
您可以随时使用:
#!/usr/bin/env bash
set -x