syntax error:unexpected end of file
2015-11-20 22:40
483 查看
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下的文本文件是以\r\n作为断行标志的,表示成十六进制就是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
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下的文本文件是以\r\n作为断行标志的,表示成十六进制就是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
相关文章推荐
- JS跨域设置和取Cookie
- POJ 2083 Fractal
- 第二百三十二天 how can I 坚持
- Python 入门知识捡漏
- Android LayerDrawable 和 Drawable.Callback
- 打开多个Activity,返回到第一个Activity的问题
- win10安装oracle 11g 时出现INS-13001环境不满足最低要求
- OpenCV2.x自学笔记——自适应阈值
- Core Animation
- 充电好快!小米20000mAh移动电源评测
- eclipse运行单独的java文件
- 南昌大学软院大神养成计划----与用户交流
- VS集成Qt环境搭建
- UVa 11136 - Hoax or what
- C语言头文件应用 --- 写一个CMD
- 非递归 -- 归并排序(C语言)
- 02-线性结构1 一元多项式的乘法与加法运算
- AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件
- iOS开发UI篇—popoverController简单介绍
- OpenCV2.x自学笔记——固定阈值