当前位置:首页 » 网页前端 » sh脚本换行符报错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sh脚本换行符报错

发布时间: 2023-03-23 11:35:41

‘壹’ 执行SHELL报错

用VIM编辑一下这个shell脚本,你应该会看到每一行最后会有一个"^M",把每一行最后的^M删源备掉(注意!这是1个字符,而不是2个),之后再重新执行一次试试

这种情况的原因是由于你的脚雹滑毁本是在Windows下编写后传入到Linux服务器上执行,Windows格式的文本文件的换行符与Linux系统的换行符不一样,有时让洞会导致执行错误。

‘贰’ shell脚本报错:“#!/bin/bash: 没有那个文件或目录”,该怎么办

你确认你脚本第一行写的是#!/bin/bash,从你的出错信息中看,你写的好像是bin/bash,少个/。有种方法可以解决,你可以从其他地方一个shell脚本到你需要的目录下,然后vi进去把内容删除,重新把你写的脚本内容粘贴进去,保存就行了,当然,原来脚本的头文件位置就不要更改了。#!/bin/bash,

具体如下:

1、简介

编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

2、汇编程序

汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。

3、执行原理

计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

‘叁’ linux运行sh脚本出现/r

项目中要运行sh脚本。但是脚本的项目路径文件夹运银塌行的时候 会报错,找不到文件夹。
发现执行的时候会默认在 sh脚本中添加/r 也就是回车键。

找了半天才想起来是文件格式不对闷敬。

在vim 下面蚂搏慎执行 :set ff 查看当前文档的格式 是gos

需要将sh脚本改成unix格式的才能运行。

完美!

‘肆’ shell脚本,遇到换行时候执行错误

在ubuntu上执行sh脚本时出现 $’\r’:command not found

一脸懵逼。。。然后仔细检查脚本,对应行位置只是一个空行

最后各种查询才发现原因,脚本是我在window上编辑的,然后在ubuntu上运行的。。。嗯,所以出现了蠢亩嫌问题,带手,,

window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。ubuntu下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。

在ubuntu上执行sudo dos2unix  you_shell_name.sh,转耐祥换脚本格式,然后,

再次执行脚本,报错消失。

感谢: https://blog.csdn.net/naipeng/article/details/78349580