我是靠谱客的博主 可耐大雁,最近开发中收集的这篇文章主要介绍SHELL syntax error:unexpected end of file 提示错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

if [ -n "$1" ]
then
  echo "111"
else
  echo "222"
fi
exit 0

执行sh my.sh par 提示syntax error:unexpected end of file.错误请问为什么啊?

文本编辑是在windows下通过记事本编写的这个文件,运行 在cygwin模拟LINUX软件环境下。

解决思路:

DOS下文件和Linux下文件格式差异问题导致的。

DOS下的文本文件是以rn作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以n作为断行标志的,表示成十六进制就是0A。

【在windows里,换行用的两个符号,回车r换行符号n在linux下只需一个符号n就可以了.

DOS格式的文本文件在Linux下,用较低版本的vi打开时行尾会显示^M,当然也有可能看不到,但是在vi的时候,会在下面显示此文件的格式,"M.txt" [dos] 8L, 72C表示是一个dos文件格式。

解决方案:

使用下面的命令将文件格式设置为unix格式即可解决上述错误。
vi M.txt
:set fileformat=unix
:wq

参考文档:

http://hi.baidu.com/hajj1987/blog/item/23339d314e163b275bb5f5ad.html


小节:

http://wenku.baidu.com/view/4c1e950703d8ce2f00662398.html


最后

以上就是可耐大雁为你收集整理的SHELL syntax error:unexpected end of file 提示错误的全部内容,希望文章能够帮你解决SHELL syntax error:unexpected end of file 提示错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部