处理Bash语法错误

时间:2018-03-18 15:14:00

标签: bash

我有我的bash代码。

#!/bin/bash

read message
echo $message | tr "A-Za-z" "N-ZA-Mn-za-m"
if [ $message == false ]; then
fi
done

它可以工作,但我之后会遇到语法错误,

rot13.sh: line 6: syntax error near unexpected token `fi'
rot13.sh: line 6: `fi'

现在我不希望在这个帖子中找到解决方案,但我只是想知道我应该去哪里,当我遇到这些错误时我该怎么做?是否有任何命令可以在编译器或文档/检查表中使用,以检查语法错误。

我是bash代码的新手,因此能够检查并理解语法错误会有很多帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

#!/bin/bash

read message
echo "$message" | tr "A-Za-z" "N-ZA-Mn-za-m"
if [ "$message" = false ]; then
    echo 'false'
fi

您需要thenfi之间的某些内容。

在向人工提供帮助之前,请务必先在http://www.shellcheck.net/上测试您的代码

如果您需要存储tr命令的输出:

message="$(echo "$message" | tr "A-Za-z" "N-ZA-Mn-za-m")"

最后,您在脚本末尾有一个丢失的done语句