首页 > 系统相关 >linux脚本:/bin/bash^M: bad interpreter: No such file or directory(/bin/sh^M).sh: not found(dos2unix )

linux脚本:/bin/bash^M: bad interpreter: No such file or directory(/bin/sh^M).sh: not found(dos2unix )

时间:2024-03-07 15:15:34浏览次数:31  
标签:bin 文件 filename dos unix sh 格式 such

origin

如图,运行一个脚本文件报错:

 

原因:

在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识

解决方法,用dos2unix filename命令,,直接把文件转换为unix格式

 

其他解决方法:

(1)使用linux命令dos2unix filename,直接把文件转换为unix格式;
(2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式;
(3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。

查看脚本文件是dos格式还是unix格式的几种办法。
(1)cat -A filename
从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$;
(2)od -t x1 filename
如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式;
(3)vi filename打开文件,执行: set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。

标签:bin,文件,filename,dos,unix,sh,格式,such
From: https://www.cnblogs.com/ddzzhh/p/18058906

相关文章

  • CTFshow pwn49
    Pwnmprotect()函数以CTFshowpwn49为例。学习mprotect函数mprotect函数可以将内存权限进行修改为可读可写可执行。intmprotect(constvoid*start,size_tlen,intprot);mprotect()函数把自start开始的、长度为len的内存区的保护属性修改为prot指定的值。一般prot直接修......
  • Rearch Experience: Research Internship - 1
    where: CenterforMachineLearningResearch,PekingUniversity,independentlyTime:Dec.2023–PresentPainPoint:Inmulti-tasklearning,theschedulingorderofdatasetsduringfine-tuningoflargemodelsisanimportantbutoverlookedpoint,soIprop......
  • sshpass的离线安装与卸载
    sshpass的离线安装与卸载一.安装1.解压安装tar-zxvfsshpass-1.05.tar.gzcdsshpass-1.06./configure  #需要安装gcc环境makemakeinstall 2.验证安装成功 sshpass-V 二.卸载cdsshpass-1.05/makeuninstallmakeclean   ......
  • share
    基于OPC协议实现TC3与Factory通信测试项目名称:MoveAToB物流线输送,实现箱子从A段运送至B段,同时需控制来料与出料一、OPC:KepServerOPC配置与倍福通信时,TC3端口号为851,TC2端口号为801opc通过读取.TYP文件自动加载变量生成标记表(设备名称右击属性>>标记生成>>设备启动时(首......
  • Dash 2.16版本新特性介绍
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master大家好我是费老师,几天前Dash发布了其2.16.0版本,随后在修复了一些潜在问题后,于今天发布了可稳定使用的2.16.1版本,执行下面的命令进行最新版本Dash的安装:pipinstalldash-U2.16版本中为......
  • CF1066E Binary Numbers AND Sum 题解
    分析因为\(a\)是一直没有改变的,移动的只有\(b\),所以从\(a\)的每一位的贡献入手。对于\(a\)中的从低到高第\(i\)位,其对应的十进制值是\(a_{n-i+1}\times2^{i-1}\)。注意到\(b\)是每次右移一位的,所以在\(b\)中能与\(a_{n-i+1}\)匹配的都是在下标区间\([1,m-i+1]......
  • .NET集成DeveloperSharp实现数据分页
    数据分页,几乎是任何应用系统的必备功能。但当数据量较大时,分页操作的效率就会变得很低。大数据量分页时,一个操作耗时5秒、10秒、甚至更长时间都是有可能的,但这在用户使用的角度是不可接受的…… 数据分页往往有三种常用方案。第一种,把数据库中存放的相关数据,全部读入代码/内存......
  • Autofac的Swashbuckle生成报错 Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetada
    错误内容:AnexceptionwasthrownwhileactivatingSwashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator->Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider->λ:Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider[]->......
  • 在Docker中,如何退出一个镜像的bash,而不终止它?
    在Docker中,当你使用dockerexec-it<container_id_or_name>bash命令进入一个正在运行的容器的bashshell时,你实际上是启动了一个新的进程。要退出这个bashshell而不终止容器,你可以使用几种不同的方法。1.使用exit命令在bashshell中,你可以简单地输入exit命令来退出。这将终......
  • MySQL binlog/redolog/undolog 的区别?
    想和大家聊聊InnoDB中的锁机制,那么不可避免的要涉及到MySQL的日志系统,binlog、redolog、undolog等,看到有小伙伴总结的这三个日志还不错,赶紧拿来和各位小伙伴分享。日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、......