昨天遇到一个问题,在配置文件中写的启动脚本,无论怎么调用都显示启动不成功,命令不正确
startup-shell=/.........../apache-tomcat-7.0.57/bin/catalina.sh run
把内容打印出来以后,发现后边结束部分,是“0xD,0xA”,也就是\r\n
原因是:
如果在Dos或Windows下使用编辑器编写一些文本文件,然后通过网络传送到Unix/Linux下使用vi打开,那么会看到一些^M符号. 因为Dos或Windows下的换行符是"\r\n",即对应的ASCII码十进制形式是: 13, 10. 而Unix/Linux下的换行符是"\n",即对应的ASCII码十进制形式是: 10. 因此,使用vi打开该文件所显示的特殊符号^M,其实其对应的ASCII码十进制形式是: 13 ; 对应的八进制形式是 015; 对应的十六进制形式是 0x0D. 解决的方法很多,其中比较简单的一种是,在shell提示符下发出命令:tr -d "\015" < myfile.txt > myfile_new.txt那么可以把符号^M(即"\015")去掉,并另存为新文件myfile_new.txt.
用tr命令不能替换原文件,只能生成新文件
因此要用多个命令配合才能对文件过滤
cat 原文件| tr -d "^M" > 新文件
mv 新文件 原文件
或者:
sed 's/^M//原文件>新文件
mv 新文件 原文件