windows下写的脚本,在linux下执行失败
2013-11-27 11:12
471 查看
Windows中的换行符为CRLF, 即正则表达式的rn(ASCII码为13和10), 而Unix(或Linux)换行符为LF, 即正则表达式的n. 在Windows和Linux下协同工作的时候, 往往这个细小的差别就导致问题, 如
解决的方法:
1)Windows下写的Shell脚本, 在Linux下运行时往往出现rn是无效参数, 不能执行; 2)vi 等编器下打开一个文本文件会包含 ^M 3)Linux下查看文件会在文件头部出现一些乱字符 4)在Windows下开发写的Makefile往往也会运行出错. …
解决的方法:
1) 文本批量转换工具: Unix系统中的dos2unix(相反的也有unix2dos) 方法一: 使用 vi 打开源文件, 把 '\r\n' 替换成 '\n' ** 缺点 ** : 不适合大量文件的批量作业. 方法二: 使用 UtraEdit 把 Windows 格式的文件转换成 Unix 格式. (菜单)文件-->转换-->Unix转DOS ** 缺点 ** : 不适合大量文件的批量作业. 方法三: Unix 下的 dos2unix 命令, 如 $ dos2unix -k xx.c ** 缺点 ** : 此方法有一致命缺陷, 它会改变原来的文件属性. 如一个可执行 shell 脚本的可执行属性及其它属性, 转换后都将会丢掉 (即使用 -k 也只是能保留住原来的日期.) ** 优点 ** : 适合大量普通文件本文件的批量作业. 方法四: win2unix (windows, unix 均可使用), 功能类似 dos2unix, 如 win2unx xx.c (更多详细实例见后文) ** 优点** : 克服了 dos2unix 的所有缺点(见上), 它能保留源文件的任何属性. 还可以返回转换即 unix2win 适合大量文件的批量作业.
2) 在进行编辑或保存的时候, 选择行末符号为Unix换行(LF) elipse下,回车换行的修改 点击Window >>Workspace 修改 Next text file line delimiter的 Other ,由Windows改为Unix.
相关文章推荐
- mvn 构建项目,脚本windows编译成功,linux执行失败
- windows下写的脚本,在linux下执行失败
- windows下写的脚本,在linux下执行失败
- nagios通过nrpe远程执行linux脚本,通过nsclient++远程执行windows脚本
- 解决Linux下shell脚本文件执行失败问题
- linux执行windows编写的shell脚本出错
- windows下写的shell脚本在linux执行出错的解决办法
- windows下sql脚本文件太大执行失败解决方案 错误代码 Error code: 2013
- windows 下生成的shell脚本在linux下执行
- 使用windows或Linux脚本执行Java项目-JSON例子(二)
- 在Windows下写了一个shell脚本,上传到Linux下执行时报错:
- windows下写的shell脚本在linux执行出错的解决办法
- shell脚本从windows下发送到linux下运行失败的问题
- 使用windows或Linux脚本执行Java项目-JSON例子(二)
- Windows下写shell脚本到Linux下执行遇到的问题及解决方案
- windows写的脚本到linux里面就不能执行
- windows下写的shell脚本在linux执行出错的解决办法
- mongodb脚本从windows上传到linux无法执行
- Linux和windows下执行sql脚本文件
- Linux与Windows中使用脚本执行JAVA程序