写shell脚本遇到的问题

  今天在运行SHELL脚本时,脚本报错如下:

    -bash: ./month_web_user_rc.sh: /bin/bash^M: bad interpreter: No such file or directory

  问题原因及解决方法如下:( 摘自 esther0401

  出现上面错误的原因之一是脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 使用vim编辑器打开脚本, 运行

     :set ff?

  可以看到DOS或UNIX的字样. 使用

    set ff=unix

  把它强制为unix格式的, 然后存盘退出即可。

  网上也有很多的其他方法, 比如: 执行dos2unix 命令转换编码,   命令为:

    #dos2unix full_build.sh

  也有说造成这种问题的原因是在使用vim时不小心按了个: Ctrl+v。

时间: 2024-08-26 13:50:54

写shell脚本遇到的问题的相关文章

十分钟学会写shell脚本

大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺带这学习shell 的语法: 什么时候helloworld是必不可少的,第一个脚本肯定与helloworld是离不开的: #!/bin/sh a="hello world!" num=2 echo "a is : $a num is : ${num}nd" 运行结果:

怎么写shell脚本才能不耍流氓?

1.不记录日志的 SHELL 脚本就是耍流氓!我们经常在工作中会遇到一个苦恼的事情,一个 Shell 脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的 MySQL 数据库备份时间.所以给脚本加日志显得尤为重要.那么我们的脚本应该有一个日志的函数,专门用于记录日志: #!/bin/bash SHELL_NAME="$0" SHELL_LOG="/var/log/$SHELL_NAME.log" shell_log(){     l

使用C#给Linux写Shell脚本

在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之后跑去群子了威吓其他群友,不就是个玩嘛,走着~~! 说起Linux中的脚本,毋庸置疑,用得最多的肯定是Shell脚本,其他的还有Python.Ruby等,估计根本没有人会想到其实C#也可以.说起C#,那可是尚方宝剑版存在,它上可写操作系统(CosmosOS.SharpOS等)下可写应用系统,桌面程序

使用阿里云服务器写shell脚本发送qq邮件的三个形式

[准备工作] IPtables的使用如下命令:(执行以下以下命令把25和465端口打开) iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 465 -j ACCEPT iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT 要先开启 经过以上的三步我们就可以

使用C#给Linux写Shell脚本(下篇)

http://home.juedui100.com/detail/23517297.htmlhttp://home.juedui100.com/user/23517297.htmlhttp://home.juedui100.com/user/24098944.htmlhttp://home.juedui100.com/user/24109311.htmlhttp://home.juedui100.com/user/23953314.htmlhttp://home.juedui100.com/us

awk写shell分发脚本

使用hadoop或者部署hadoop的时候,经常会遇到要往其他机器上拷贝文件的情况,但是,如果单个写的话,碰巧集群又很大,会累死的,现在使用一种awk写shell脚本,速度很快 命令 awk 'BEGIN{ print "#! /bin/sh";for(i=10;i<=200;i++) print "scp -r hadoop 10.6.8."i":/usr/hadoop" }'  > scp.sh 这样就可以轻松分发10.6.8.1

Shell 脚本模拟 milter 实现黑白名单及关键词过滤

程序执行流程:1. 开始接受邮件.2. 检查发件人是否在黑名单内,如果是拒绝接受;否则继续3. 检查发件人是否在白名单内,如果是接收邮件;否则继续4. 对邮件进行关键字过滤,如果邮件中包含被过滤的关键词信息,则拒绝接收   该邮件;否则,接收该邮件. Usage: sh mailfilter.sh  [-r reject-addr] [-a add-addr][-k keywords]########################################################

【Shell】使用Shell脚本发布项目

第一次写Shell脚本,没经验,是直接写呢,还是要走流程( ̄▽ ̄)~* ----------------------------------------------------------------------- 总的来说分三步,下面跟我一起做 ----------------------------------------------------------------------- 第一步:先创建一个文件 touch public.sh 第二步:编写脚本 #!/bin/bash echo

Shell脚本编程30分钟入门

什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,一共循环10次 第6行:创建一个test_1…10.txt文件 第7