在windows中编写的脚本,在linux上运行时报错linux $‘\r‘: command not found

在windows中编写的脚本,在linux上运行时报错linux $'\r': command not found

1.问题描述:

在windows中编写的脚本,在linux上运行时报错

powershell 复制代码
linux $'\r': command not found

2.原因:

因为脚本在Windows系统编写时,换行是\r\n。

而在Linux系统中换行是\n。

所以在Linux中运行脚本时,系统会认为\r是一个真实的字符(不是换行符),导致运行错误。

3.查看是否有\r的方法

powershell 复制代码
vim -b test.yml

# -b:(binary mode) 二进制模式

打开后就能看到每行后面都会有一个^M,这个就是不能识别的那个字符\r

4.解决办法:

4.1方法一:直接对脚本文件执行
powershell 复制代码
sed -i 's/\r//' test.sh
4.2方法二:使用vi,替换\r
powershell 复制代码
vim -b test.yml
shift + :
输入  %s/\r//g
4.3方法三:使用vi,进行格式转化
powershell 复制代码
vim  test.yml
shift + :
输入  set ff=unix
相关推荐
不羁。。1 小时前
【操作系统安全】任务3:Linux 网络安全实战命令手册
linux·安全·web安全
流烟默3 小时前
编写脚本在Linux下启动、停止SpringBoot工程
linux·spring boot·shell
IT 古月方源3 小时前
Linux 删除 /boot 后 恢复 (多种方法)
linux·运维·服务器
潇然四叶草3 小时前
rk3588 linux的rootfs.img挂载后通过chroot切换根目录安装应用提示空间不足
linux·rootfs·扩容·空间不足
程序漫游人3 小时前
Nginx参数调优脚本
运维·网络·nginx
@jerry_tu4 小时前
DeepSeek Chat 自动化交互技术分析
运维·python·自动化
雾岛LYC听风4 小时前
3. 轴指令(omron 机器自动化控制器)——>MC_SetPosition
运维·c#·自动化
loong_XL4 小时前
browser_use 自动化浏览器agent使用案例
运维·自动化
Arbori_262154 小时前
linux 命令 mkdir
linux·运维·服务器