场景:
Centos下运行shell一直提示 未预期的符号 `fi’ 附近有语法错误
问题描述
用notepad++编辑脚本时,以下代码明明没有语法错误,却一直提示
#!/bin/bash
a=10
b=10
if [ $a == $b ]
then
echo "a 等于 b"
fi
do.sh:行7: 未预期的符号 `fi' 附近有语法错误
do.sh:行7: `fi'
原因分析:
此问题出现在用notepad++编辑脚本文件时产生,多半是因为代码里含有不可见的特殊字符影响,如/n /r导致的,如果直接用vim编辑器也可以杜绝此问题
解决方案:
将你的xx.sh替换下,语法:
sed -i 's/\r$//' xxxxxxx.sh
重新运行便可正确执行了。