首页 > TAG信息列表 > dos2unix
bash: ./***.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法(转)
原文转自:https://blog.csdn.net/qq_29775797/article/details/121080133 问题描述:在Linux下启动***.sh脚本,启动不了,提示如下: 原因分析:一些人喜欢用vim来写linux命令,但是有的人喜欢在Windows下用一些方便的编辑器(如Notepad++)写好, 然后拷贝文件到linux下, 结果呢, 在执行脚本Linux一些工具命令
命令列表: dos2unix ... #1.[dos2unix]命令 把windows上的脚本转化linux格式 [root@mytest001 202204]# cat -A windowe.sh n1=2^M$ n2=1^M$ ^M$ [ $n1 -gt $n2 ] && echo "$n1 > $n2" && exit^M$ [ $n1 -eq $n2 ] && echo "$n1 = $n2" &a$'\r': 未找到命令的解决办法
$'\r': 未找到命令的解决办法 原因 在执行shell脚本时,出现‘$’\r’: 未找到命令’错误。多半是在Windows系统编写的脚本在linux服务器中执行。 解决办法 1,使用dos2unix工具将脚本转换为unix版本的。 使用yum安装 #yum install dos2unix ubuntu安装 #sudo apt-get install dos2unLinux创建新用户时遇到的问题记录
创建新用户命令: useradd -d "/home/guest" -m -s "/bin/bash" guest 报错: useradd: cannot open /etc/passwd 按照网上的解决方案: chattr -ia /etc/passwd 此时/etc/passwd的属性: --------------e----- /etc/passwd 继续执行: useradd -d "/home/guest" -m -s &quoLinux创建新用户时遇到的问题记录
创建新用户命令: useradd -d "/home/guest" -m -s "/bin/bash" guest 报错: useradd: cannot open /etc/passwd 按照网上的解决方案: chattr -ia /etc/passwd 此时/etc/passwd的属性: --------------e----- /etc/passwd 继续执行: useradd -d "/home/guest" -m -s &quoCDH $‘\r‘: 未找到命令
关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 将windows的内容复制到了shell文件下 在Liunx命令下执行shell文件时出现了:$'\r': 未找到命令 解决方法: 1. yum install dos2unix 2.转换格式 dos2unix add_new_user_as_hue.sh 3. bash 执行文件可以了。(原)patching file 出现 Hunk #1 FAILED at xxx(different line endings).
今天在运行自己制作的补丁的时候,对旧代码打补丁的时候,sudo patch -p1 < xxx.patch的时候,报错了: sudo patch -p1 < ffmpeg-fix-bug-too-many-frames-buffered.patch patching file fftools/ffmpeg.c Hunk #1 FAILED at 1449 (different line endings). Hunk #2 FAILED at 1498 (di工具说明书 - Linux文本文件中的字符^M如何处理
经常在Linux或Unix下进行嵌入式软件开发,使用Yocto、交叉编译工具链等。 但对于源码的编辑,还常常是在Windows平台下,比如我就用的Samba服务将Linux的源代码共享,然后Windows下访问来编辑。 这样有时就会出现文件格式的冲突,因为Windows的文本文件每行的结尾是Windows Line【ubuntu server18.04】在Ubuntu下运行会报错:bash: $’\r’: command not found
1. 问题描述 在Ubuntu下运行会报错:bash: $’\r’: command not found 2. 问题原因 这是因为Windows系统的文件换行使用的是\r\n,而Unix系统是\n 3. 解决方法 1. 安装dos2unix来进行文件转换 sudo apt install dos2unix# 安装完之后,执行如下命令 dos2unix static_ip_set.sh 2.Linux 中换行符问题
问题 Linux 环境执行一些脚本出错,查找原因,发现是文件在Windows环境修改并上传,格式被转换为MS-Dos格式(换行符不同),这样的文件在Linux中运行会出错(shell 解释器把换行符作为一个命令的提交)。 背景 很久以前,老式的电传打字机使用两个字符来另起新行。回车符(CR)把滑动架移回行首 ,换shell脚本编辑报‘\r‘:Cannot stat:No such file or directory
笔记 原因 该问题由windos与linux的编码差异导致 解决 方法一: sed -i ‘s/\r$//’ 文件名 sed -i ‘s/\r//’ 文件名 方法二: dos2unix 文件名 需要yum安装dos2unixbash: ./***.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法
问题描述: 在Linux下启动***.sh脚本,启动不了,提示如下: 原因分析: 一些人喜欢用vim来写linux命令,但是有的人喜欢在Windows下用一些方便的编辑器(如Notepad++)写好, 然后拷贝文件到linux下, 结果呢, 在执行脚本的时候, 就会出现上述的问题。 验证猜想: 使用vim ***.sh进入***.sh这个vim打开文件末尾带有^M
从Ubuntu系统拷贝了个文件,放到centos系统,用vim打开文件后,文本内容后面带了个^M,如下图所示: 解决: 1. yum install dos2unix 2. sudo dos2unix 文件名. 结束。dos2unix
使用git 的时候碰到git将unix换行符转换为windows换行符的问题,需要使用dos2unix命令将文件转换为unix格式。 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。windows脚本部署到linux时报错
错误如图所示... 问题原因:Linux和windows下的回车换行符不兼容 解决办法: 1.使用文本编辑器修改文本格式,以notepad++为例, 编辑->档案格式转换->转换为UNIX格式: 2.使用vi编辑器修改 vi xxxx.sh 输入:set ff=unix 然后回车保存 再执行sh xxxx.sh即可 3.使用dos2unix工具 安装bash: ./startup.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录
故障现象: 原因:编写程序时编码不对导致 解决办法:转换编码 1、安装软件 yum -y instal dos2unix 2、重新执行操作即可dos2unix
Linux系统必备工具dos2unixdos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转windows中的换行符和Linux中的换行符
# cat -A tmp.tmp 120.4987 12.717858^M$ ^M 对应的字符是 \r # cat tmp.txt | awk -vRS='\r\n' '{print $2,$1}' 或者转换格式文件 yum install dos2unix -y dos2unix tmp.tmp转 MySQL shell脚本执行错误 $'\r':command not found
转 MySQL shell脚本执行错误 $'\r':command not found 问题描述 前几天编写的shell小脚本,测试自动安装MySQL的,今天测试运行,然后出现如下错误$’\r’:command not found, 问题分析 检查脚本,没有问题,只是有空行。提示这个错误也不是代码本身错误,怀疑可能是编码格式等错误,:脚本[Linux]Linux执行.sh文件时,出现$‘\r‘: command not found错误解决方案[转载]
1 文由 为什么要把这么一个看似很简单的问题,还要以【转载】的方式专门用博客写出来? 主要是在编写crontab的自动化定时脚本的过程中,发现是这个错导致的自动化脚本频繁执行异常时,已经花了好几个小时了,故欲以此博文长个记性! 今天执行1个自己编的定时脚本时,发现老报这个错: 2 原因vim遇到的坑
vim打开文件中每行末尾都带有 ^M 为什么会出现^M? 1. 在windows下的文本文件的每一行结尾,都有一个回车('\n')和换行('\r') 2. 在linux下的文本文件的每一行结尾,只有一个回车('\n'); 3. 而在linux下打开windows编辑过的文件,就会在行末尾显示^M; 4. 注:^M在vim中为crtl+M 如何解决?/bin/bash^M: bad interpreter: No such file or directory问题
问题: 我在写了shell文件,创建shell文件sky8g.文件。后使用 chmod +x sky8g.sh给予可执行的权限后再次执行 1 chmod +x toutiao_app.sh 执行shell文件 1 ./toutiao_app.sh 出现下面的报错: 1 /bin/bash^M: bad interpreter: No such fiPython——/usr/bin/env: ‘python(3)\r’: No such file or directory
1.异常原因: DOS系统下和Linux系统下对于换行键的表示不同。 在windows下,用连续的'\r'和'\n'两个字符进行换行。'\r'为回车符,'\n'为换行符,比如原来的'aaabbb'更改为'aaa \n bbb'后输出的结果为:aaa 换行 bbb。 #!/usr/bin/env python\r\n在Linux下,用'\n'进行换行。Linux下不同平台下的代码转义字符不兼容问题(dos2unix的使用)
在Windows下 文本文件的换行符为CRLF 而在Linux下换行符为LF Windows格式文件的换行符为\r\n 而Unix&Linux文件的换行符为\n 这些代码如果传到Linux下跑起来 会出问题 因此需要使用dos2unix 它是将Windows格式文件转换为Linux&Unix格式文件的命令 安装: Ubuntu: sudo apt inst使用windows系统编写shell代码,在linux执行后的报错
使用windows系统编写shell代码,在linux执行后,产生如下的错误 [root@localhost vagrant]# bash /var/www/borg/fuel/app/tasks/monitor_sync.sh /var/www/borg/fuel/app/tasks/monitor_sync.sh: line 11: $'\r': command not found /var/www/borg/fuel/app/tasks/monitor_sync.sh: