如果存在set -e指令,为什么((0))导致Bash脚本退出?

大卫·钱伯斯

输出before\n

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

echo before
((0))
echo after

删除set -e或更改((0))((1))使程序输出before\nafter\n符合预期。

为什么((0))触发set -e退出条件?

阿努巴瓦

这将解释:

((0))
echo $?
1

((1))
echo $?
0

因此,这是由于使用(( and ))脚本时正在退出的算术表达式求值的返回状态为非零set -e

就像这样help set说:

-e如果命令以非零状态退出,则立即退出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果env变量存在,则退出脚本

来自分类Dev

如果存在则使用SET

来自分类Dev

如果值存在,为什么 indexOf(char) 为 0?

来自分类Dev

使脚本入队(如果存在文件)

来自分类Dev

如果bash脚本由于set -e而终止,则显示错误消息

来自分类Dev

PHP:如果文件不存在,则退出脚本

来自分类Dev

为什么命令“如果%errorlevel%1做”会导致退出批处理文件?

来自分类Dev

从批处理脚本行'如果存在[文件](...

来自分类Dev

合并行,如果:存在 shell 脚本

来自分类Dev

Bash脚本-如果不存在if文件的嵌套if语句

来自分类Dev

Bash脚本分区跳过(如果已存在)

来自分类Dev

Bash 替代:如果缺失则出错,如果存在则重新映射

来自分类Dev

Unix Bash Shell编程(如果目录存在)

来自分类Dev

为什么在源脚本中,“ exec不存在的文件”会退出外壳?

来自分类Dev

为什么-0存在?

来自分类Dev

如果Android中存在游标,为什么需要模型类?

来自分类Dev

为什么{如果存在行则提取它们}不起作用?

来自分类Dev

如果存在软链接,为什么ln -s创建目录?

来自分类Dev

Bash 脚本 - 如果情况 $? > 0

来自分类Dev

VBA检查目录是否存在,如果存在退出子,否则不存在,创建

来自分类Dev

如果Windows批处理脚本只能执行,为什么bash脚本需要执行位?

来自分类Dev

Windows批处理:“如果存在”-路径存在,但它说不-为什么?

来自分类Dev

在哪里使用asynk任务,如果Handler存在,为什么还要存在呢?

来自分类Dev

Perl:如果文件中不存在特定行,则退出

来自分类Dev

如果我在FOR处理的项目中放入%s的奇数个计数,为什么命令会退出脚本?

来自分类Dev

程序以状态!= 0(set -e)退出后执行EXIT陷阱时的Bash函数作用域状态

来自分类Dev

如果条件通过,请从mongo shell退出bash脚本

来自分类Dev

为什么eval用set -e退出sub-shell中&&?

来自分类Dev

为什么eval用set -e退出sub-shell中&&?

Related 相关文章

  1. 1

    如果env变量存在,则退出脚本

  2. 2

    如果存在则使用SET

  3. 3

    如果值存在,为什么 indexOf(char) 为 0?

  4. 4

    使脚本入队(如果存在文件)

  5. 5

    如果bash脚本由于set -e而终止,则显示错误消息

  6. 6

    PHP:如果文件不存在,则退出脚本

  7. 7

    为什么命令“如果%errorlevel%1做”会导致退出批处理文件?

  8. 8

    从批处理脚本行'如果存在[文件](...

  9. 9

    合并行,如果:存在 shell 脚本

  10. 10

    Bash脚本-如果不存在if文件的嵌套if语句

  11. 11

    Bash脚本分区跳过(如果已存在)

  12. 12

    Bash 替代:如果缺失则出错,如果存在则重新映射

  13. 13

    Unix Bash Shell编程(如果目录存在)

  14. 14

    为什么在源脚本中,“ exec不存在的文件”会退出外壳?

  15. 15

    为什么-0存在?

  16. 16

    如果Android中存在游标,为什么需要模型类?

  17. 17

    为什么{如果存在行则提取它们}不起作用?

  18. 18

    如果存在软链接,为什么ln -s创建目录?

  19. 19

    Bash 脚本 - 如果情况 $? > 0

  20. 20

    VBA检查目录是否存在,如果存在退出子,否则不存在,创建

  21. 21

    如果Windows批处理脚本只能执行,为什么bash脚本需要执行位?

  22. 22

    Windows批处理:“如果存在”-路径存在,但它说不-为什么?

  23. 23

    在哪里使用asynk任务,如果Handler存在,为什么还要存在呢?

  24. 24

    Perl:如果文件中不存在特定行,则退出

  25. 25

    如果我在FOR处理的项目中放入%s的奇数个计数,为什么命令会退出脚本?

  26. 26

    程序以状态!= 0(set -e)退出后执行EXIT陷阱时的Bash函数作用域状态

  27. 27

    如果条件通过,请从mongo shell退出bash脚本

  28. 28

    为什么eval用set -e退出sub-shell中&&?

  29. 29

    为什么eval用set -e退出sub-shell中&&?

热门标签

归档