《Linux就该这么学》读书笔记--4.3.1节【chkhost.sh脚本】

2022-02-14 01:52

在学习第4章,vim与shell命令脚本。

4.3.1节【chkhost.sh脚本】

[root@linuxprobe ~]# vim chkhost.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
        echo "Host $1 is On-line."
else
        echo "Host $1 is Off-line."
fi

ping命令,-c参数用来控制ping操作的次数,-i用来设置时间间隔(interval,间隔、间隙)。

其中,$1是对应执行命令时,第一个参数的值。也即执行下面脚本时,后面跟的IP地址。

[root@linuxprobe ~]# bash chkhost.sh 192.168.10.10
Host 192.168.10.10 is On-line.
[root@linuxprobe ~]# bash chkhost.sh 192.168.10.20
Host 192.168.10.20 is Off-line.

$?对应的是显示上一次命令的执行返回值(4.2.2节)

-eq是整数比较运算符(4.2.3节),作用是判断“是否等于”。

【上机测试】

 

 命令 &>> 文件 的作用是“将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)”(3.1节)。

课本TIPS:

/dev/null是一个被称作Linux黑洞的文件,把输出信息重定向到这个文件等同于删除数据(类似于没有回收功能的垃圾箱),可以让用户的屏幕窗口保持简洁。

下面一段及后附图片为【课本原文摘录】:

我们在4.2.3节中用过$?变量,作用是显示上一次命令的执行返回值。若前面的那条语句成功执行,则$?变量会显示数字0,反之则显示一个非零的数字(可能为1,也可能为2,取决于系统版本)。因此可以使用整数比较运算符来判断$?变量是否为0,从而获知那条语句的最终判断情况。这里的服务器IP地址为192.168.10.10,我们来验证一下脚本的效果:

 

posted @ 2022-02-14 02:17  TheWindReturns  阅读(27)  评论(0编辑  收藏  举报