为什么我的Perl就地脚本即使失败也会以零退出代码退出?

安德鲁·费里尔

我有一个单行的Perl搜索和替换,看起来像这样:

perl -p -i -e 's/foo/bar/' non-existent-file.txt

因为文件不存在(这不是有意的,但这是自动化构建脚本的一部分,所以我想对此加以保护),Perl退出并出现以下错误:

Can't open non-existent-file.txt: No such file or directory.

但是,退出代码仍为零:

echo $?
0

难道我做错了什么?我应该修改脚本还是调用Perl的方式?我很天真地以为,因为Perl找不到文件,所以它将以非零代码退出。

mpapec

你可以死去逼错

perl -p -i -e 'BEGIN{ -f $ARGV[0] or die"no file" } s/foo/bar/' non-existent-file.txt

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的Perl就地脚本即使失败也会以零退出代码退出?

来自分类Dev

为什么Perl中system()的结果不是我脚本的确切退出代码?

来自分类Dev

即使测试失败,单元测试脚本也会返回退出代码= 0

来自分类Dev

当我无法处理异常时,为什么退出代码为零(“良好”)?

来自分类Dev

为什么不反斜杠产生非零退出代码

来自分类Dev

即使命令错误,为什么退出代码为0?

来自分类Dev

为什么(退出1)不退出脚本?

来自分类Dev

为什么我感到困惑“当命令在BASH中失败时,退出状态代码为0”

来自分类Dev

为什么`source foo && true`会退出bash中的脚本?

来自分类Dev

命令MergeSwiftModule失败,退出代码非零

来自分类Dev

Doctest失败,退出代码为零

来自分类Dev

为什么Spark作业失败并显示“退出代码:52”

来自分类Dev

为什么退出代码0表示成功而1表示失败

来自分类Dev

为什么更改用户后我的Shell脚本退出?

来自分类Dev

为什么我的Gradle版本因退出代码137而垂死?

来自分类Dev

为什么程序返回的退出代码不是我指定的?

来自分类Dev

为什么我没有来自debootstrap的退出代码?

来自分类Dev

谁能告诉我为什么我从GitLab收到此“错误:作业失败:退出代码1”消息?

来自分类Dev

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

来自分类Dev

即使-Wall,GCC也会以错误1退出。没有解释为什么?

来自分类Dev

从脚本在clearcase上设置视图会退出脚本,为什么还需要解决方案?

来自分类Dev

从脚本在clearcase上设置视图会退出脚本,为什么还需要解决方案?

来自分类Dev

为什么即使成功,我的脚本也会引发错误?

来自分类Dev

为什么Node用退出代码13退出而不是挂起?

来自分类Dev

困惑为什么脚本不退出

来自分类Dev

Xcode 11.2.1-命令CodeSign失败,退出代码非零

来自分类Dev

Xcode链接-命令Ld失败,退出代码非零

来自分类Dev

Flutter:命令PhaseScriptExecution失败,退出代码非零

来自分类Dev

归档时“命令PhaseScriptExecution失败,退出代码非零”

Related 相关文章

  1. 1

    为什么我的Perl就地脚本即使失败也会以零退出代码退出?

  2. 2

    为什么Perl中system()的结果不是我脚本的确切退出代码?

  3. 3

    即使测试失败,单元测试脚本也会返回退出代码= 0

  4. 4

    当我无法处理异常时,为什么退出代码为零(“良好”)?

  5. 5

    为什么不反斜杠产生非零退出代码

  6. 6

    即使命令错误,为什么退出代码为0?

  7. 7

    为什么(退出1)不退出脚本?

  8. 8

    为什么我感到困惑“当命令在BASH中失败时,退出状态代码为0”

  9. 9

    为什么`source foo && true`会退出bash中的脚本?

  10. 10

    命令MergeSwiftModule失败,退出代码非零

  11. 11

    Doctest失败,退出代码为零

  12. 12

    为什么Spark作业失败并显示“退出代码:52”

  13. 13

    为什么退出代码0表示成功而1表示失败

  14. 14

    为什么更改用户后我的Shell脚本退出?

  15. 15

    为什么我的Gradle版本因退出代码137而垂死?

  16. 16

    为什么程序返回的退出代码不是我指定的?

  17. 17

    为什么我没有来自debootstrap的退出代码?

  18. 18

    谁能告诉我为什么我从GitLab收到此“错误:作业失败:退出代码1”消息?

  19. 19

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

  20. 20

    即使-Wall,GCC也会以错误1退出。没有解释为什么?

  21. 21

    从脚本在clearcase上设置视图会退出脚本,为什么还需要解决方案?

  22. 22

    从脚本在clearcase上设置视图会退出脚本,为什么还需要解决方案?

  23. 23

    为什么即使成功,我的脚本也会引发错误?

  24. 24

    为什么Node用退出代码13退出而不是挂起?

  25. 25

    困惑为什么脚本不退出

  26. 26

    Xcode 11.2.1-命令CodeSign失败,退出代码非零

  27. 27

    Xcode链接-命令Ld失败,退出代码非零

  28. 28

    Flutter:命令PhaseScriptExecution失败,退出代码非零

  29. 29

    归档时“命令PhaseScriptExecution失败,退出代码非零”

热门标签

归档