sh文件在windows下修改后无法执行的解决方法以及shell脚本中含中文乱码
2013-09-25 10:53
1036 查看
sh文件在windows下修改后无法执行的解决方法
因为大部分人使用的操作系统是windows,同时也因为windows的可视化界面做得比较人性化,所以在修改linux的一个sh文件时,为了方便拉到window上用editplus编辑,上传回linux去后,这个SH却不能运行,错误提示是:: command not found。
原因是CR/LF问题,在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以linux下运行时就会报错找不到命令。
解决办法:
1. 在windows下使用UltraEdit编写shell脚本,编写完毕后,可通过下列方式避免因windows的回车符与LINUX的回车符不同而引起的command notfound错误和中文乱码错误。
(1). 可设置文件 ->转换->DOS->UNIX.
(2). 修改完毕后需要点击文件->设置另存为,编码方式选为UTF-8-无BOM,保存(UNIX换行符-LF)。如下图所示。
因为大部分人使用的操作系统是windows,同时也因为windows的可视化界面做得比较人性化,所以在修改linux的一个sh文件时,为了方便拉到window上用editplus编辑,上传回linux去后,这个SH却不能运行,错误提示是:: command not found。
原因是CR/LF问题,在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以linux下运行时就会报错找不到命令。
解决办法:
1. 在windows下使用UltraEdit编写shell脚本,编写完毕后,可通过下列方式避免因windows的回车符与LINUX的回车符不同而引起的command notfound错误和中文乱码错误。
(1). 可设置文件 ->转换->DOS->UNIX.
(2). 修改完毕后需要点击文件->设置另存为,编码方式选为UTF-8-无BOM,保存(UNIX换行符-LF)。如下图所示。
相关文章推荐
- Linux下的.sh文件在windows下修改后无法执行的解决方法
- sh文件在windows下修改后无法执行的解决方法
- ubuntu 使用sh 无法执行脚本文件的解决方法
- Windows系统无法打开.exe可执行文件的4种解决方法
- linux下打开windows txt文件中文乱码解决方法
- windows文件(.txt,.h,.cpp等等)中的中文在ubuntu下乱码的解决方法
- 从windows上传文件到linux,中文名乱码解决方法
- Ubuntu下pycharm的脚本文件无法输入中文解决方法
- Linux下的.sh文件在windows下修改后无法执行
- 关于shell脚本中报 “/bin/sh^M: bad interpreter: 没有那个文件或目录”的解决方法
- ie 无法下载中文名文件 解决方法 【修改IIS5注册表可以支持中文文件名】
- mysql 5.7插入中文乱码,mysql 5.7 修改my.ini文件无效解决方法
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- Notepad++编写的shell脚本在linux下无法执行的解决方法
- Windows下CMD执行Go中文乱码问题解决方法
- windows下eclipse工程转到linux下源代码注释以及输出字符串中中文乱码解决方法
- Linux下的.sh文件在windows下修改后无法执行
- 3 Linux 下的 .sh 文件在 windows 下修改后无法执行