如何在实践中检查bash shell语法错误?

时间:2014-11-27 14:45:45

标签: bash shell

我需要检查一组脚本在语法上是否正确。我知道有几个帖子建议使用bash -n <script_name>,但我运行这个,我什么都没得到。

good.sh

#!/bin/bash

echo "hello"

bad.sh

#!/bin1/bash1

eco "hello"

如果我这样做:

$ bash -n bad.sh; echo $?
0
$ bash -n good.sh; echo $?
0

那么你如何区分好坏呢?

1 个答案:

答案 0 :(得分:2)

bash -n检查Bash是否可以解析代码(即语法是正确的),而不是代码是否“正确”。 “正确”可以有很多含义,大多数程序永远无法验证:

  • 可以解析(bash -n)。
  • 完成无误(if ./script.sh; then [...]; fi)。
  • 打印符合特定格式的内容。
  • 打印有用的东西。
  • 在特定环境中的任何上述,例如,一个有/bin1/bash1的shell解释器和一个命令eco,它向您显示最生态友好的啤酒瓶可在5 parsec半径范围内使用。