我需要检查一组脚本在语法上是否正确。我知道有几个帖子建议使用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
那么你如何区分好坏呢?
答案 0 :(得分:2)
bash -n
检查Bash是否可以解析代码(即语法是正确的),而不是代码是否“正确”。 “正确”可以有很多含义,大多数程序永远无法验证:
bash -n
)。if ./script.sh; then [...]; fi
)。/bin1/bash1
的shell解释器和一个命令eco
,它向您显示最生态友好的啤酒瓶可在5 parsec半径范围内使用。