Linux运行Window上创建的脚本换行符导致异常
异常如下:
test.sh: line 2: cd: $'/usr/local/postgresql/bin/\r': No such file or directory
这个错误信息表明,在你的 test.sh 脚本的第二行,你尝试使用 cd 命令来改变当前目录到 ‘/usr/local/postgresql/bin/\r’,但系统找不到这个路径。
这里的关键是路径字符串末尾的 \r。这通常是由于在Windows系统上创建的文本文件(包括脚本文件),然后在Linux或Unix系统上运行时出现的问题。Windows使用回车符(\r\n)作为行结束符,而Linux/Unix使用换行符(\n)。当在Linux/Unix系统上读取由Windows创建的文件时,\r 字符会被当作普通字符对待,导致路径错误。
为了解决这个问题,你可以采取以下步骤:
方式一:转换文件行结束符:
使用 dos2unix 工具将文件从DOS/Windows格式转换为Unix格式。如果你的系统上没有安装这个工具,你可以使用包