重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2865|回复: 0
打印 上一主题 下一主题

[基础命令] linux系统执行shell脚本提示No such file or directory处理方法

[复制链接]
跳转到指定楼层
楼主
发表于 2020-3-5 14:15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在linux系统下,执行shell脚本时,出现下面的提示
[oracle@orcl1 check]$ ./crscheck.sh
-bash: ./crscheck.sh: /bin/bash^M: bad interpreter: No such file or directory
在网上搜索类似的错误,基本上都是由于在DOS系统中,编辑的shell脚本,上传到linux中,在运行时,因为文件的类型还是dos,linux系统识别不了而导致。
那如何辨别文件是类型,是dos,还是linux系统识别的unix类型呢,这里有两种方法:如下
1、cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$unix格式的文件行尾为$
2、vi filename 打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。
那解决方法呢,有以下两种:
1、使用linux命令dos2unix filename,直接把文件转换为unix格式.
2、vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。
将文件类型转换为unix类型后,再运行shell脚本时,可正常动行。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-25 07:40 , Processed in 0.095192 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表