“标准”shebang与`-e`

时间:2017-03-30 11:41:20

标签: bash unix

所以我以前用#!/bin/bash -e开始我的bash脚本(调用bash,并在第一次出错时退出)

现在我正在转向更具可移植性的表单#!/usr/bin/env bash但是设置-e不起作用

#!/usr/bin/env bash -e
echo 'hi'

# output:
>> /usr/bin/env: ‘bash -e’: No such file or directory

如何将-e与便携式shebang一起使用?

2 个答案:

答案 0 :(得分:3)

您可以使用set命令。

  

设置 - 设置或取消设置shell选项和位置参数的值。

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

echo hi

答案 1 :(得分:1)

使用:

#!/usr/bin/env -S bash -e

来自环境手册页:

-S, --split-string=S
       process and split S into separate arguments; used to pass
       multiple arguments on shebang lines