12-错误-Linux环境运行Shell脚本出现$‘r‘ command not found
创始人
2024-09-26 00:23:58
0

12-错误-Linux环境运行Shell脚本出现$‘r’ command not found

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅


问题描述:Linux 环境运行 Windows 环境编写的 Shell 脚本,出现如下报错。


报错信息:

[127.0.0.1@localhost bin]# sh xxx.sh start xxx.sh: line 4: $'\r': command not found xxx.sh: line 6: syntax error near unexpected token $'{\r'' 'xxx.sh: line 6: usage(){ 

错误原因:存在换行符 (\r) 的问题。这种情况通常发生在脚本在 Windows 系统上编辑或创建后移动到类 Unix 系统而没有正确转换行尾换行符的情况下。


解决方案

方案一:

sed -i 's/\r$//' xxx.sh 

这个命令使用 sed 工具来从一个文件中移除 Windows 操作系统中的行尾回车符(Carriage Return,\r),通常在类Unix系统中使用。

  • sed: 是一个流编辑器,用于处理和转换文本。
  • -i: 是 sed 命令的选项,表示直接在文件中进行编辑(in-place)。
  • 's/\r$//': 是 sed 的替换命令,用来查找每行结尾的 \r(回车符)并将其替换为空字符串(即删除)。
  • xxx.sh: 是要编辑的文件名,这里假设是一个 Shell 脚本文件。

这条命令的作用是在 xxx.sh 文件中去除每行结尾的 Windows 格式的回车符,使得文件在类Unix系统中能够正常显示和运行。


方案二:

dos2unix xxx.sh 

**这个命令 dos2unix xxx.sh 用于将一个文本文件从 DOS 或 Windows 格式转换为 Unix 格式。**在 Unix 系统中,换行符只使用换行(Line Feed,\n),而在 DOS 和 Windows 系统中,换行符使用回车和换行(Carriage Return + Line Feed,\r\n)的组合。

  • dos2unix: 是一个命令行工具,专门用来将 DOS 或 Windows 格式的文本文件转换为 Unix 格式。
  • xxx.sh: 是要转换的文件名,这里假设是一个 Shell 脚本文件。

执行这个命令后,dos2unix 会读取 xxx.sh 文件,并将其中的每个 \r\n 组合(DOS/Windows 格式的换行符)转换为 Unix 格式的 \n 换行符,这样文件就可以在 Unix 系统上正确显示和处理。


执行成功会有如下输出:

[127.0.0.1@localhost bin]# dos2unix xxx.sh dos2unix: converting file xxx.sh to Unix format ... 

注意:如果执行 dos2unix xxx.sh 出现如下报错,则表明当前环境没有安装 dos2unix

[127.0.0.1@localhost bin]# dos2unix xxx.sh -bash: dos2unix: command not found 

dos2unix 安装步骤:出现如下日志则表明安装成功了,可安装上述步骤对脚本进行格式化。

[127.0.0.1@localhost bin]# yum install -y dos2unix Loaded plugins: fastestmirror Determining fastest mirrors Could not get metalink https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64 error was 14: curl#7 - "Failed to connect to 2406:da1a:fcb:2f01:f381:af1a:f922:c519: Network is unreachable"  * base: mirrors.ustc.edu.cn  * epel: mirrors.tuna.tsinghua.edu.cn  * extras: mirrors.ustc.edu.cn  * updates: mirrors.ustc.edu.cn base                                                                                                                                         | 3.6 kB  00:00:00      extras                                                                                                                                       | 2.9 kB  00:00:00      updates                                                                                                                                      | 2.9 kB  00:00:00      (1/2): extras/7/x86_64/primary_db                                                                                                            | 253 kB  00:00:00      (2/2): updates/7/x86_64/primary_db                                                                                                           |  27 MB  00:00:03      Resolving Dependencies --> Running transaction check ---> Package dos2unix.x86_64 0:6.0.3-7.el7 will be installed --> Finished Dependency Resolution  Dependencies Resolved  ====================================================================================================================================================================  Package                                 Arch                                  Version                                    Repository                           Size ==================================================================================================================================================================== Installing:  dos2unix                                x86_64                                6.0.3-7.el7                                base                                 74 k  Transaction Summary ==================================================================================================================================================================== Install  1 Package  Total download size: 74 k Installed size: 190 k Downloading packages: dos2unix-6.0.3-7.el7.x86_64.rpm                                                                                                              |  74 kB  00:00:01      Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : dos2unix-6.0.3-7.el7.x86_64                                                                                                                      1/1    Verifying  : dos2unix-6.0.3-7.el7.x86_64                                                                                                                      1/1   Installed:   dos2unix.x86_64 0:6.0.3-7.el7                                                                                                                                       Complete! 

在这里插入图片描述

上图是由 Pic 生成的

关键词:A peaceful beach at sunset with gentle waves and a colorful sky


更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅

上一篇:FastAPI 结合 JWT

下一篇:SSTI注入

相关内容

热门资讯

安卓系统包后缀名,包后缀名背后... 你有没有发现,每次下载安卓应用时,文件名后面总会有那么几个神秘的字母组合,像是“apk”、“jar”...
安卓系统好用的工作软件,盘点十... 你有没有发现,自从你把手机里的安卓系统升级后,工作效率好像提高了不少呢?今天,就让我来给你细细道来,...
qz777app安卓系统,安卓... 你有没有听说过那个超火的qz777app安卓系统?最近,这款应用在朋友圈里可是掀起了一股热潮呢!今天...
安卓系统设备网络异响,安卓设备... 你有没有遇到过这种情况?手机屏幕上突然出现了一阵奇怪的“嗡嗡”声,或者是那种让人心烦的“嘀嘀”声?这...
安卓系统可以刷吗,深度解析刷机... 你有没有想过,你的安卓手机是不是也能来个华丽变身呢?没错,今天就要来聊聊这个热门话题——安卓系统可以...
可绘画的安卓系统平板,解锁创意... 你有没有想过,拥有一款可以随心所欲绘画的安卓系统平板,那会是多么酷炫的事情啊!想象手指轻轻一触,就能...
安卓系统能用流量卡吗,流量卡使... 你有没有想过,你的安卓手机是不是也能用流量卡呢?这可是个挺实用的问题,毕竟现在谁不想随时随地都能畅游...
安卓系统更新字体变大,体验全新... 最近发现了一个超级实用的小秘密,那就是安卓系统更新后字体竟然变大了!是不是觉得这个变化有点神奇?那就...
手机刷双系统安卓win,畅享安... 你有没有想过,你的手机可以同时运行安卓和Windows系统呢?没错,就是那种一边刷着抖音,一边还能处...
安卓项目讲座管理系统,打造高效... 你有没有想过,一个讲座管理系统竟然能让你轻松管理安卓项目中的各种讲座信息?没错,就是那种能让你在忙碌...
苹果手机植入安卓系统,开启全新... 你有没有想过,如果有一天你的苹果手机里装上了安卓系统,会是怎样的场景呢?想象那熟悉的iOS界面突然变...
安卓系统福鼎天气预报,实时掌握... 你知道吗?最近天气变化真是让人捉摸不透,尤其是对于我们这些手机不离手的现代人来说,一款靠谱的天气预报...
华为重新启用安卓系统,再创辉煌... 你知道吗?最近科技圈可是炸开了锅,华为这个巨头竟然重新启用了安卓系统!这可不是一个小小的新闻,它背后...
葫芦侠支持安卓系统,畅享海量游... 你知道吗?最近有个超级好玩的游戏,它就是葫芦侠!而且,最让人兴奋的是,这个葫芦侠竟然支持安卓系统!是...
盘锦攻略系统和安卓手机,安卓手... 你打算去盘锦旅行了吗?别急,别急,让我来给你支个招儿!现在市面上有很多旅行攻略,但今天我要给你介绍的...
华为安卓系统固件下载,解锁新功... 你有没有发现,最近华为的新款手机简直不要太火啊!不过,你知道吗?想要让你的华为手机发挥出最大的性能,...
插画安卓系统有哪些类型,从经典... 你有没有发现,现在手机上的插画风格真是五花八门,让人眼花缭乱?尤其是安卓系统,简直就是插画爱好者的天...
安卓系统信息储存卡,揭秘存储奥... 你有没有发现,手机里的照片越来越多,视频也越来越长,安卓系统的存储空间似乎总是不够用?别急,今天就来...
如何在苹果系统上下安卓,跨平台... 你有没有想过在苹果系统上也能用安卓应用呢?是不是觉得这有点像是在苹果园里种西瓜,听起来有点不可思议?...
极简版安卓rom系统,畅享高效... 亲爱的读者,你是否厌倦了手机上那些繁杂的界面和功能?想要一个简洁、高效的操作体验?那就得来了解一下极...