出现上述错误,如果百度了其他的解决方案,比如,网上的大佬说的,因为脚本是在windows下编辑的,文件类型不是unix,可以用
esc + : set fileformat=unix + wq! 然后修改文本格式
上述一系列命令可能管用,但是遇到下述情况就不行
当使用cat <<- 的时候,而不是使用cat <<
首先介绍一下两者的区别
当使用cat <<- 的时候:比如 cat <<- _EOF_
那么在脚本中判断结束符 _EOF_可以不顶格写,但是也不能使用空格,cat <<- 的意思是忽略tab键造成的首行缩进,如果_EOF_与左边边界含有空格也就会报题目中所述的错误。注意!!! cat <<- 不能忽略空格,其他linux版本不知道,但是CentOs 7版本亲测
cat << _EOF_
表示_EOF_必需要顶格写