【发布时间】:2013-08-12 08:40:55
【问题描述】:
如何检查 bash 脚本中的错误(可能还有警告)?
我想在将 bash 脚本检入 git 存储库之前对其进行预检。
我知道我可以使用bash -n script.sh 进行第一次简单的检查,但这找不到例如重写只读字符串之类的东西。
readonly unique_id = "42"
unique_id = "21"
bash -n script.sh 可以,但执行时当然会失败。
编辑: 以下脚本
#!/bin/bash
# check.sh
readonly unique_id="42"
unique_id="21"
如果您执行bash -n check.sh; echo $?,请提供0,但执行本身会导致错误消息./check.sh: line 4: unique_id: readonly variable
这两种行为都是正确的,因为这不是语法错误,但它仍然会中断执行(即使在单元测试中),我想问是否有另一种预检查方式来过滤掉此类错误。
Unittest 只会发现预期的逻辑故障,因此这不是替代方案。
【问题讨论】:
-
上面贴的两行是错误的。您需要删除
=周围的空格。 -
是的,你是对的;我删除了空白并添加了一个 shebang 来获得一个真实世界的例子。谢谢
标签: bash