linux运行sh脚本出现/r
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运行sh脚本出现/r相关的知识,希望对你有一定的参考价值。
参考技术A 项目中要运行sh脚本。但是脚本的项目路径文件夹运行的时候 会报错,找不到文件夹。发现执行的时候会默认在 sh脚本中添加/r 也就是回车键。
找了半天才想起来是文件格式不对。
在vim 下面执行 :set ff 查看当前文档的格式 是gos
需要将sh脚本改成unix格式的才能运行。
完美!
$‘ ‘: command not found的解决方法
问题说明
在Linux系统中,运行Shell脚本,出现了如下错误:
build.sh: line 1: $'\\r': command not found
出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\\r\\n,而在Linux系统中行每行结尾是\\n,所以在Linux系统中运行脚本时,会认为\\r是一个字符,导致运行错误。
问题解决
- 安装 dos2unix
centos系统:yum install -y dos2unix
ubuntu系统:apt-get -y install dos2unix
- 格式转换
# dos2unix build.sh
出现以下字符,说明格式转换成功
dos2unix: converting file one-more.sh to Unix format ...
命令讲解
- dos2unix
dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令
Windows格式文件的换行符为\\r\\n ,而Unix&Linux文件的换行符为\\n
dos2unix命令其实就是将文件中的\\r\\n 转换为\\n
命令语法:
dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]
- unix2dos
而unix2dos则是和dos2unix互为孪生的一个命令
它是将Linux&Unix格式文件转换为Windows格式文件的命令
命令语法:
unix2dos [options] [-c convmode] [-o file ...] [-n infile outfile ...]
以上是关于linux运行sh脚本出现/r的主要内容,如果未能解决你的问题,请参考以下文章