美文网首页Linux 基础操作
Linux 下第一个shell脚本

Linux 下第一个shell脚本

作者: zzqsmile | 来源:发表于2018-05-03 19:03 被阅读0次

shell脚本可以高效的完成一件事情,和批处理一个意思。学习写第一个shell脚本。
今天开始写一个判断能否ping通ip的脚本
1.首先我们看看ping通与不同之间的区别
可以ping通的情况,如下图所示:


不可以ping通的情况,如下图所示:


通和不通区别的地方有很多,随便找一个不同点就可以判断其还是不同
2.这里我们就找上图标注得到地方作为区别,即如果是不通的情况下,received的数字一定为0,如果通,那received的数字就是非0.
想个办法过滤出0这个字段

[root@localhost ~]# ping 192.168.50.1 -c 4 | grep received
图片.png
[root@localhost ~]# ping 192.168.50.1 -c 4 | grep received | awk '{print $4}'
图片.png

3.有上面办法就可以写一个ping脚本了.
ping.sh

#!/bin/bash
IP=$1
pre=`ping $IP -c 4 | grep received | awk '{print $4}'`
if [ $pre == 0 ]
then
echo "ping".$IP."bu tong"
else
echo "ping".$IP."tong le"
fi
[root@localhost ~]# ll | grep ping.sh
图片.png

可以看到我们写的ping.sh脚本还没有可执行权限。
4.给脚本文件可执行权限

[root@localhost ~]# chmod +x ping.sh 
[root@localhost ~]# ll | grep ping.sh

5.测试

[root@localhost ~]# ./ping.sh 1.1.1.1
图片.png
[root@localhost ~]# ./ping.sh 192.168.50.1
图片.png

注:bash调试脚本

[root@localhost ~]# bash -x ping.sh 1.1.1.1
+ IP=1.1.1.1
++ grep received
++ awk '{print $4}'
++ ping 1.1.1.1 -c 4
+ pre=4
+ '[' 4 == 0 ']'
+ echo 'ping.1.1.1.1.tong le'
ping.1.1.1.1.tong le
[root@localhost ~]#

改进程序:循环一个ip.txt

#!/bin/bash
if [ ! -s ip.txt ]
then
echo "ip.txt file is none"
else
ipnum=`sed -n '$=' ip.txt`
for ((i=1;i<="$ipnum";i++))
do
ip=`sed -n "$i"p ip.txt`
pre=`ping $ip -c 4 | grep received | awk '{print $4}'`
if [ $pre == 0 ]
then
echo "$ip down"
else
echo "$ip up"
fi
done
fi

相关文章

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • linux shell脚本攻略笔记

    LINUX SHELL脚本攻略笔记[速查] linux shell脚本攻略笔记

  • 17. Interview-Linux

    1 用过哪些Linux命令? 2 写过shell脚本吗?shell脚本基本格式? 3 Linux I/O读写方式 ...

  • 指令随笔

    linux 修改shell脚本的编码 在window下编写的shell脚本编码为dos,在linux环境下不能直接...

  • shell脚本

    1)什么是shell脚本 文档: http://www.runoob.com/linux/linux-shell....

  • 自动化脚本实践(Shell + Expect)

    Linux Shell脚本入门: Linux awk 命令 | 菜鸟教程 Shell 教程 | 菜鸟教程 lin...

  • shell脚本(1)

    1、什么是shell脚本? shell脚本,包含若干个Linux命令集合;它是一个脚本,不能作为正式的编程语言。 ...

  • 使用 SHC 加密 Shell 脚本

    如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获...

  • Linux中什么是shell?shell有什么用途?

    众所周知,shell既是一门脚本语言,也是一个命令解释器,那么在Linux中什么是shell?什么是shell脚本...

  • Linux Shell:Shell脚本常用语法整理

    摘要:Linux,Shell脚本 Shell 是一个用 C语言编写的程序,它是用户使用 Linux 的桥梁,用户通...

网友评论

    本文标题:Linux 下第一个shell脚本

    本文链接:https://www.haomeiwen.com/subject/ibjlrftx.html