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注入

相关内容

热门资讯

备忘安卓系统哪个好用,好用软件... 手机备忘录,这个小小的功能,却在我们忙碌的生活中扮演着大角色。想象每天的工作、学习、生活琐事,如果没...
返回老系统安卓手机,体验安卓老... 亲爱的手机控们,你是否也有过这样的经历:新系统刚出来的时候,你兴奋地升级了,结果发现,哎呀妈呀,这新...
安卓系统版本太不推送,用户等待... 亲爱的手机控们,你们有没有发现,最近安卓系统更新好像有点不给力呢?版本更新速度慢得让人抓狂,让人不禁...
ios系统和安卓图文,iOS与... 你有没有想过,为什么你的手机屏幕上总是出现那么多的图标和菜单?其实,这一切都离不开那个默默无闻的“灵...
win系统下切换安卓,双系统体... 亲爱的电脑迷们,你是否曾想过,在Windows系统的世界里,也能轻松穿梭到安卓的海洋?没错,今天我要...
电脑安卓国产双系统,一机多能新... 你有没有想过,你的电脑也能变身成安卓手机呢?没错,就是那种可以下载应用、玩游戏、看视频的安卓手机!今...
安卓系统u盘目录,轻松管理文件... 你有没有想过,你的安卓手机里那个小小的U盘,竟然能藏下那么多的秘密?今天,就让我带你一探究竟,揭开安...
安卓系统面容账单识别,安全便捷... 你有没有发现,现在手机里的新功能越来越神奇了?比如说,安卓系统里的面容账单识别,简直就像是个贴心的私...
CARLIFE安卓系统手机下载... 亲爱的车主朋友们,你们是不是也和我一样,对车载系统有着超乎寻常的热爱呢?想象在驾驶的过程中,一边享受...
安卓导航系统语言,智能导航体验... 你有没有发现,现在手机导航系统越来越智能了?尤其是安卓手机,导航功能强大到让人惊叹。今天,就让我带你...
蓝光机带安卓系统,创新科技引领... 你有没有想过,家里的电视是不是也能像手机一样,随时随地下载各种应用,畅游网络世界呢?现在,蓝光机带安...
安卓系统跑步音乐app,运动与... 你有没有发现,现在跑步已经不仅仅是一项运动了,它还成了一种潮流,一种生活态度。想象一边挥洒汗水,一边...
安卓推送系统默认通道,揭秘默认... 你有没有发现,现在手机上的App推送消息真是无处不在啊!有时候,你甚至还没来得及看一眼,手机就“叮咚...
安卓系统老杀进程,lmkd进程... 你有没有发现,你的安卓手机有时候就像个调皮的小孩子,总是时不时地“杀”掉一些后台运行的进程。这可真是...
远程温控系统安卓界面,远程温控... 你有没有想过,在寒冷的冬日里,不用离开温暖的被窝,就能轻松调节家里的暖气温度?或者是在炎炎夏日,你在...
安卓手机申请鸿蒙系统,详细步骤... 你有没有想过,你的安卓手机也能变身成为超级英雄?没错,就是那个传说中的鸿蒙系统!听说这个系统能让你的...
诺基亚怎么变安卓系统,转换之路... 你有没有想过,把你的诺基亚手机变成安卓系统,让它焕发第二春呢?想象原本只认识Windows系统的诺基...
安卓系统手表京东自营,安卓系统... 你有没有想过,手腕上戴一块智能手表,就像是给你的生活添了一抹科技的色彩呢?想象在忙碌的都市生活中,你...
安卓系统语言设置选项,个性化您... 亲爱的手机控们,你们有没有遇到过这种情况:看着手机上的英文菜单,一脸懵逼,心里默默念叨:“这啥玩意儿...
修改安卓系统内存位置,释放手机... 手机内存不够用,是不是让你头疼得要命?别急,今天就来教你一招,轻松修改安卓系统内存位置,让你的手机瞬...