shebang中的Bash跟踪模式(bash -x)

时间:2014-06-04 08:36:13

标签: bash

这种风格如何运作:

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

但这不是吗?

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

它给了我一个未找到的错误。跟踪模式需要稍后设置为set -x

请注意,我可以使用#!/usr/bin/env bash

2 个答案:

答案 0 :(得分:9)

shebang-line机制只解析第一个空格,并将该行的其余部分作为一个参数传递给可执行文件,因此编写

#!/usr/bin/env bash -x

就像打电话

$ /usr/bin/env "bash -x"

在命令行上。

没有名为"bash -x"的可执行文件(命令名称中有空格),因此失败。

答案 1 :(得分:7)

您可以随时使用:

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