专业的编程技术博客社区

网站首页 > 博客文章 正文

解决windows下编写的shell脚本在liunx中常见的问题

baijin 2024-10-27 08:11:11 博客文章 10 ℃ 0 评论

报#39;\r': command not found

在windows里面写的shell脚本,上传到CentOS7中运行,报'\r': command not found

考虑到\r应该是一个换行符,想到用dos2unix来修复一下。安装dos2unix

yum install -y dos2unix

如下图:

安装好之后修复一下刚刚的脚本

dos2unix 脚本文件完整路径

假如,这里我的脚本文件在/root/shell下面,文件名叫demo.sh,上面的命令就应该是

dos2unix /root/shell/demo.sh

修复完之后,再次执行脚本,正常运行。

URL多了%0D

这个%0D其实就是一个换行符,查看我帖子 解决使用wget时URL末尾多出一个%0D 解决

mv文件之后文件名多了一个问号

在windows上创建编写sh文件时,就会因为换行时和linux的换行符不同,导致生成的文件名带有问号。例如shell脚本里面执行命令

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

结果生成的文件多了一个问号,变成了

CentOS-Base.repo.backup?

如下图

这个也可以用刚刚安装的dos2unix修复一下就可以了。

shell中使用echo写入带变量的字符串

查看这个帖子 shell中使用echo写入带变量的字符串到文件中

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表