如何检查 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"
0
如果您执行,则给出,bash -n check.sh; echo $?
但执行本身会导致错误消息./check.sh: line 4: unique_id: readonly variable
这两种行为都是正确的,因为这不是语法错误,但它仍然会中断执行(即使在单元测试中),我问是否有另一种预检查方式来过滤掉此类错误。
Unittest 只会发现预期的逻辑故障,因此这不是替代方法。