dos妯″紡涓嬪畨瑁厀in2000 (dos 2)

目前很多脚本语言都能够跨平台:在 Windows 系统的计算机上开发调试, 然后上传到远程的 Linux 计算机去执行的情况非常普遍。

但是如果你只是简单地将 Windows 系统下编辑过的脚本拿到 Linux 系统执行, 会遭遇奇怪的错误。这通常是由换行符编码的问题造成的:Windows、UNIX/Linux 和早期的 macOS 操作系统对换行符使用了各自的编码方案。

dos2unix 是一个开源免费的可执行程序包, 支持多个平台, 不仅可以将文本文件的换行符编码在 Windows、macOS 和 UNIX/Linux 操作系统之间进行转换, 还能转换文件的编码方式。本文介绍该程序包的配置和使用过程。

安装

Windows 操作系统

对于 Windows 操作系统的用户, 从 SourceForge 网站*载下**程序压缩文件, 解压后即可看到 bin/ 文件夹内的可执行程序。打开 "命令提示符" 窗口, 使用 cd 命令进入程序所在目录, 键入程序名(如 dos2unix)即可运行相应的程序。

如果你希望在任何目录都能使用该程序, 可以考虑将程序所在目录添加到系统的环境变量, 或直接将软件包内的可执行文件移动至 "C:\Windows\System32" 文件夹内。

*载下**地址: https://sourceforge.net/projects/dos2unix/

Linux 操作系统

对于 Linux 操作系统, dos2unix 程序已经被添加到系统的软件源内, 可以直接从软件源进行安装。

Fedora、CentOS 等 Linux 发行版的安装命令为:

># sudo yum install dos2unix

Debian、Ubuntu 等发行版的安装命令为:

># sudo apt-get install dos2unix

安装之后即可使用其包含的几个命令, 如 dos2unix、unix2dos 等。

Node.js

使用 Node.js 的用户, 还可以直接使用 Node.js 中的对应模块:

># npm install dos2unix

遗憾的是, 该模块不可以作为命令行程序直接使用, 只能作为 Node.js 的编程模块。

直接操作原有文件, 将 filename 由 MS-DOS 编码模式转换到 UNIX/Linux 编码模式:

dos2unix filename

将当前的目录全部转换

find . -type f -exec dos2unix {} \;