shell脚本基础

1、什么是shell脚本

shell script是放在文本文件中的一串shell和操作系统命令,让使用者很容易地就能够一个操作执行多个命令,并可以重复使用。


2、如何创建shell脚本

  • 第一步:创建一个文本,最好以.sh为后缀,方便区分其他普通文本。
    • shell脚本第一行需要指定使用的shell,我们称之为shebang机制,其格式为
#!/bin/bash
  • 在声明使用的shell后,还可以用#添加shell脚本的注释,注释内容不会被执行,目的是方便使用者理解脚本
    如:
 #!/bin/bash
#Author:Luo
#date:2017-06-08
#version:2.0
#该脚本用于计算/etc/passwd文件中的第n个用户和第m用户的ID之和
  • 添加完注释后,就可以在文件的每一行中输入命令,然后加一个回车符。shell编程是属于过程式、解释执行语言。因此,按照你的思路按顺序写上脚本要执行的命令即可。

  • 第二步:运行脚本
    相信到这里你的脚本已经写完了,那么接下来要做的就是,运行脚本了,过程如下:

    • 给脚本文件添加执行权限
    • 运行脚本,三种方法:
      • 将shell脚本文件所处的目录添加到PATH环境变量中
      • 在命令行提示符中用绝对或相对文件路径来引用shell脚本文件。
      • 在命令行命令行中直接用bash 调用脚本

3、脚本例子

#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.0
#计算/etc/passwd文件中的第n个用户和第m用户的ID之和
[ $# -ne 2 ]&&echo "usage:idsum.sh arg1 arg2"&&exit [2]
ID1=`getent passwd|head -n  $1|tail -n 1|cut -d: -f3`
ID2=`getent passwd|head -n  $2|tail -n 1|cut -d: -f3`
echo ID1=$ID1
echo ID2=$ID2
sum=$[ID1+ID2]
echo sum=$sum
exit

#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.1
#传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和
  
Space1=`grep ^[[:space:]]*$ $1|uniq -c`
Space2=`grep ^[[:space:]]*$ $2|uniq -c`
echo Space1=$Space1
echo Soace2=$Space2
Spacesum=$[Space1+Space2]
echo Spacesum=$Spacesum
#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.
#统计/etc, /var, /usr目录中共有多少个一级子目录和文件
[ $# -ne 3 ] && echo "usage:idsum.sh file1 file2 file3" && exit [2]
dir1=`ls -l $1|grep -v total |wc -l`
dir2=`ls -l $2|grep -v total |wc -l`
dir3=`ls -l $3|grep -v total |wc -l`
echo num=$dir1
echo num=$dir2
echo num=$dir3
sum=$[dir1+dir2+dir3-3]
echo sum=$sum  
#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.0
#接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;
#如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数
[ "$#" -lt 1  ]&&echo "至少应该给一个参数"&&exit
grep "^[[:space:]]*$" $1|wc -l
exit
#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.0
#接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问
[ "$#" -ne 1  ]&&echo "请输入一个ip地址"&&exit
ping -c 1 $1 &> /dev/null  && echo "该ip地址可以访问"||echo "该ip地址不可访问" 
exit
#!/bin/bash
#Author:Luo
#date:2017-06-06
#version:2.0
#检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满
i=`df|grep "^/dev/sda"|tr -s " " :|cut -d":" -f5|sort -nr|wc -l`
[ $i -ge 1 ] && usage=`df|grep "^/dev/sda"|tr -s " " :|cut -d":" -f5|cut -d "%" -f1 |sort -n|tail -n 1`
[ $usage -lt 80 ] &&echo "磁盘空间最高使用率:$usage% 正常"||echo "磁盘空间将满"
[ $i -ge 1 ] && iusage=`df -i |grep "^/dev/sda"|tr -s " " :|cut -d":" -f5|cut -d "%" -f1 |sort -n|tail -n 1`
[ $usage -lt 80 ] &&echo "inode最高使用率:$iusage% 正常"||echo "inode将满"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容