实战 2:解决将公司 Linux 服务器上脚本导到 Windows 上打开串行的问题

原因:因为 Windows 和 Linux 处理回车方法不同,Windows 系统里面,每行结尾是“  <回车><换行>”,即“\r\n”,而在 Linux 中的换行符则是$,由于内核所识别的换行符不同,则造成的串行。 

 

⑴上传“b 在 Linux 编辑的文档到 Windows 下没有换行.sh”  到 Linux 上,打开后正常显示。 

# sz b 在 linux 编辑的文档到 windows 下没有换行.sh         #发送到本地,使用 sz 命令需要传输到本地的文件,回车后弹出本地存储的位置,如图  5-8  所示。 

image.png

图  5-8  传输文件到本地 

⑵在 Window  上打开显示,如图  5-9  所示。 

 image.png

图  5-9  从 Linux 传输到本地打开串行 

⑶解决方法: 

使用 dos2unix  命令 

dos2unix 作用:是把 Windows 下的回车转成 Linux 类型。 

使用 rpm 程序包管理器安装 dos2unix 工具: 

# rpm -ivh /mnt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm 

 

注:  在 CentOS7 上,unix2dos 这个命令已经被集成到 dos2unix-6.0.3-7.el7.x86_64.rpm 包中。

在 CentOS6 下需要安装 unix2dos.xxx.rpm,可单独安装 unix2dos 

 

⑷使用 unix2dos 工具对文件做格式转换: 

# unix2dos "b 在 Linux 编辑的文档到 windows 下没有换行.sh" 

 

⑸ 经过转换后,再次传输到本地上查看,如图  5-10  所示。 

# sz b 在 Linux 编辑的文档到 windows 下没有换行.sh 

image.png

图  5-10  转换格式后的文件 

注:dos2unix  命令作用:是把 Windows 下的回车转成 Linux 类型。 


方法二:

另外一种方法是使用notepad++编辑器(Windows系统中使用的一款文本编辑软件),找到你编辑好的sh脚本文件,点击“编辑—>文档格式转换—>转为Unix”即可,你就可以将转换好的上传到Linux系统中打开而不会串行了。

image.png

版权声明:
作者:WaterBear
链接:https://l-t.top/1216.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>