Skip to content

Commit 185660d

Browse files
committed
docs(set): fix wangdoc#51
1 parent be73d61 commit 185660d

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

docs/set.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,11 @@ script.sh:行4: foo: 未找到命令
261261

262262
## set -E
263263

264-
设置`-e`参数,会导致`trap`命令失效(参考《trap 命令》一章)`-E`参数可以纠正这个行为。
264+
一旦设置了`-e`参数,会导致函数内的错误不会被`trap`命令捕获(参考《trap 命令》一章)`-E`参数可以纠正这个行为,使得函数也能继承`trap`命令
265265

266266
```bash
267267
#!/bin/bash
268-
set -euo pipefail
268+
set -e
269269

270270
trap "echo ERR trap fired!" ERR
271271

@@ -278,14 +278,14 @@ myfunc()
278278
myfunc
279279
```
280280

281-
上面的脚本`myfunc`函数调用了一个不存在的命令`foo`,导致执行这个函数会报错。
281+
上面示例中`myfunc`函数内部调用了一个不存在的命令`foo`,导致执行这个函数会报错。
282282

283283
```bash
284284
$ bash test.sh
285285
test.sh:行9: foo:未找到命令
286286
```
287287

288-
但是,由于设置了`set -e`脚本报错后并没有被`trap`命令捕获,需要加上`-E`参数才可以。
288+
但是,由于设置了`set -e`函数内部的报错并没有被`trap`命令捕获,需要加上`-E`参数才可以。
289289

290290
```bash
291291
#!/bin/bash

0 commit comments

Comments
 (0)