在windows 下编辑.sh 或.sql 等字符文件后,通过ftp binary 方式传输到 AIX 下, 运行的时候发现报错 ^M: not found
在AIX 下使用 vi 打开发现文本文件中无缘无故多了很多 ^M 这样的奇怪字符, 查询才知道这个是因为在windows下编辑
的文件,DOS格式默认的换行符号在 AIX 下就会显示出来 ^M , DOS 格式开启就不会显示, 可以通过UltraEdit 工具查看,
下面状态栏有 DOS 或UNIX 字样。 可以将文件在windows下 ultraedit中转化后在binary传输到AIX上就ok了。
手工解决办法:
UltraEdit --> File --> Conversions --> DOS to UNIX
然后再通过binary的方式传输到 AIX 上。
上面这部分内容转载自:http://blog.itpub.net/35489/viewspace-1272032/
shell脚本自动处理文件中^M,方法如下:
cat $v_file_name| sed 's/^M//g' > ${v_file_name}.tmp1,
其中$v_file_name为要处理的文件
特别注意: shell脚本中^M要通过如下方法输入:
1. 通过vi输入,方法为: 在需要输入^M的地方按着 crtl键不放,按v键并松开,然后按m键,即可输入^M
2. 在SecureCRT中,直接在命令行需要输入^M的地方按着 crtl键不放,按v键并松开,然后按m键,即可输入^M
直接在文件中通过输入一个 ^ 和 一个 M是不行的