捕获Shell脚本中语法错误的数量

编辑:此问题被标记为重复。尽管从更大的角度来看这可能是正确的,但库萨兰南达提供的答案使我对我的选择有了更好的理解。

如果在shell脚本中发生语法错误,则脚本的解释不一定会终止,而只会在脚本的下一行继续。在解释脚本时,是否有办法捕获这些语法错误的数量?

我真的很想像编译器报告那样,说明编译完成后的错误和警告数量。仅用于linux shell。

库萨兰达

是的。如果其中的任何命令产生错误,则大多数Shell都具有终止当前脚本的功能。这通常是通过

set -e

并可能通过关闭

set +e

编辑:我误解了这个问题。Bash和其他Shell也具有-n不执行脚本,但检查其语法错误的选项。

$ bash -n script.sh

无论是-e-n选项由POSIX描述。对于-n,标准说:

外壳程序应读取命令,但不执行命令;这可用于检查Shell脚本语法错误。交互式外壳可能会忽略此选项。

澄清:此答案是关于语法检查,而不是检查POSIX一致性。使用自己的语义扩展POSIX的外壳程序仍可以检查-n使用扩展的语义编写的脚本的语法(带有)。这并没有说明shell或脚本的POSIX一致性,只是说明shell脚本在语法上是否对于所讨论的shell正确,这就是问题所在。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Shell脚本中的语法错误说出意外的标记`(

来自分类Dev

获取语法错误:shell 脚本中的“fi”意外(期望“then”)

来自分类Dev

Shell脚本失败:语法错误:“(”意外

来自分类Dev

用户输入Shell脚本语法错误

来自分类Dev

Shell脚本的算术语法错误

来自分类Dev

获取官方 Shell 脚本的语法错误

来自分类Dev

Shell 脚本:语法错误:“(”意外

来自分类Dev

angularjs中未捕获的语法错误

来自分类Dev

未捕获的语法错误:无效或意外的标记(“脚本文件中包含的代码)

来自分类Dev

PHP脚本中的SQL语法错误

来自分类Dev

jQuery脚本中的语法错误

来自分类Dev

For循环脚本中的语法错误

来自分类Dev

排序脚本中的语法错误?

来自分类Dev

UNIX shell中的语法错误

来自分类Dev

Jenkinsfile中shell脚本块的意外标记'<'附近的语法错误

来自分类Dev

Jenkinsfile中shell脚本块的意外标记'<'附近的语法错误

来自分类Dev

执行Shell脚本时条件表达式中的语法错误?

来自分类Dev

Shell脚本中的“第3行:意外令牌附近的语法错误”

来自分类Dev

在shell脚本中尝试在循环中运行awk时出现“语法错误:循环变量无效”

来自分类Dev

Shell脚本-意外令牌'else'附近的语法错误

来自分类Dev

Shell脚本由于假定的MySQL语法错误而出错

来自分类Dev

shell脚本:使用此处文档的“'<<'不匹配”语法错误

来自分类Dev

Shell脚本中意外令牌'then'附近的语法错误

来自分类Dev

Shell脚本案例语法错误

来自分类Dev

Shell脚本-意外令牌'else'附近的语法错误

来自分类Dev

Shell脚本中意外令牌'if'附近的语法错误

来自分类Dev

Shell脚本案例语法错误

来自分类Dev

Shell 脚本语法错误:单词意外(期望“in”)

来自分类Dev

快递应用程序中未捕获的语法错误

Related 相关文章

  1. 1

    Shell脚本中的语法错误说出意外的标记`(

  2. 2

    获取语法错误:shell 脚本中的“fi”意外(期望“then”)

  3. 3

    Shell脚本失败:语法错误:“(”意外

  4. 4

    用户输入Shell脚本语法错误

  5. 5

    Shell脚本的算术语法错误

  6. 6

    获取官方 Shell 脚本的语法错误

  7. 7

    Shell 脚本:语法错误:“(”意外

  8. 8

    angularjs中未捕获的语法错误

  9. 9

    未捕获的语法错误:无效或意外的标记(“脚本文件中包含的代码)

  10. 10

    PHP脚本中的SQL语法错误

  11. 11

    jQuery脚本中的语法错误

  12. 12

    For循环脚本中的语法错误

  13. 13

    排序脚本中的语法错误?

  14. 14

    UNIX shell中的语法错误

  15. 15

    Jenkinsfile中shell脚本块的意外标记'<'附近的语法错误

  16. 16

    Jenkinsfile中shell脚本块的意外标记'<'附近的语法错误

  17. 17

    执行Shell脚本时条件表达式中的语法错误?

  18. 18

    Shell脚本中的“第3行:意外令牌附近的语法错误”

  19. 19

    在shell脚本中尝试在循环中运行awk时出现“语法错误:循环变量无效”

  20. 20

    Shell脚本-意外令牌'else'附近的语法错误

  21. 21

    Shell脚本由于假定的MySQL语法错误而出错

  22. 22

    shell脚本:使用此处文档的“'<<'不匹配”语法错误

  23. 23

    Shell脚本中意外令牌'then'附近的语法错误

  24. 24

    Shell脚本案例语法错误

  25. 25

    Shell脚本-意外令牌'else'附近的语法错误

  26. 26

    Shell脚本中意外令牌'if'附近的语法错误

  27. 27

    Shell脚本案例语法错误

  28. 28

    Shell 脚本语法错误:单词意外(期望“in”)

  29. 29

    快递应用程序中未捕获的语法错误

热门标签

归档