本文主要是介绍轻松解决 linux平台 下编辑文档产生的 ^M 符号问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、^M:产生的原因:
windows平台下 使用“回车键”,则会在 行尾 产生 ^M
二、产生的后果:
在执行脚本时,shell解析器 会执行错误,弹出类似于:./XXXXX.sh: /bin/sh^M:bad interpreter:No such file or directory
------解析器会将 末尾 带 ^M 的字段视为 文件 或 目录。
三、查看方法:
直接使用 vi xxx.sh 或 cat xxx.sh 正常情况下 看不到 脚本内 含有 ^M 的符号,使用cat -v xxx.sh 则会看到带有 ^M 的符号。
四、解决办法:
a.使用 sed 工具删除所有 ^M 符号:
建立临时 空脚本 temp.sh;
-----------存储 删除^M符号的内容
执行命令 :sed 's/^M//' xxx.sh > temp.sh(注意:^:用 Ctrl + v 产生、M:用Ctrl + M产生);
----将使用sed命令将xxx.sh中的复制一份,删除^M后,存储到temp.sh中。
将temp.sh重命名为xxx.sh:
---------mv temp.sh xxx.sh
五、建立通用去 ^M 符号的工具:
[user_qfh]#:touch delete_^M.sh
[user_qfh]#:vi delete_^M.sh
touch temp.sh
sed 's/^M//' $1 > temp.sh
mv temp.sh $1
这篇关于轻松解决 linux平台 下编辑文档产生的 ^M 符号问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!