1.for条件语句

先读取多个不同的变量值,然后逐一执行同一组命令。

从列表文件中读取主机地址,逐个测试是否在线。

从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机IP地址,测试是否能够ping通:

vim ipadds.txt

内容如下:

192.168.20.6
192.168.20.47
192.168.20.120
localhost

测试Shell脚本:

#!/bin/bash
HLIST=$(cat /home/ipadds.txt)
for IP in $HLIST
do
ping -c 3 -i 0.2 -W 3 $IP &> /home/jacun/jacun
if [ $? -eq 0 ] ; then
echo "$IP is OK"
else
echo "$IP is Down"
fi
done

2.while条件语句

用于重复测试某个条件,当条件成立时则继续重复执行。

随机生成一个0-999的整数,判断并提示用户输入的值过高或过低,只有当用户猜中才结束程序。

脚本中的$RANDOM是一个随机变量,用于在%1000后会得到一个介于0-999的整数后赋值给PRICE变量,while后面的true代表该循环会永远循环执行:

vim DemoRandom.sh

Shell脚本如下:

#!/bin/bash
PRICE=$(expr $RANDOM % 10000)
TIMES=0
echo "手机的价格为0-9999之间,猜猜看是多少?"
while true
do
read -p "请输入你猜测的价格:" INT
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo "恭喜你答对了,实际价格是 $PRICE"
echo "你总共猜测了 $TIMES 次"
exit 0
elif [ $INT -gt $PRICE ] ; then
echo "你猜的太高了"
else
echo "你猜的太低了"
fi
done

3.case条件语句

可以根据变量的不同取值,分别执行不同的命令动作。

提示用户输入一个字符,判断该字符是字母、数字还是特殊字母。

用户输入一个字符并将其赋值给变量KEY,判断变量KEY为何种字符:

vim DemoKey.sh

Shell脚本如下:

#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "你输入的是字母"
;;
[0-9])
echo "你输入的是数字"
;;
*)
echo "你输入的是空格、功能键或其他控制字符"
esac

Linux就该这么学--Shell脚本条件语句(二)的更多相关文章

  1. Linux就该这么学--Shell脚本条件语句(一)

    1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...

  2. Linux就该这么学--Shell脚本基本应用

    1.接收用户的参数: Shell脚本为了能够让用户更灵活的完成工作需求,可以在执行命令时传递参数:(命令名 参数1 参数2...) Shell预定义变量: $0 当前执行Shell脚本的程序名 $1- ...

  3. Shell 编程 条件语句

    本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). ...

  4. Linux学习Day6:编写Shell脚本

    Shell脚本命令的工作方式有两种: 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多 ...

  5. linux c程序中获取shell脚本输出的实现方法

    linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...

  6. Linux自动安装JDK的shell脚本

    Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在 ...

  7. Shell脚本系列教程二: 开始Shell编程

    Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...

  8. linux 的基本操作(编写shell 脚本)

    终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本在linux系统管理员的运维工作中非常非常重要.下面笔者就带你正式进入shell脚本的世界吧. 到现 ...

  9. Linux 小知识翻译 - 「Shell 脚本」

    这次说说「Shell 脚本」. 根据上回的介绍,Shell就是「作为联系Linux和用户的接口而存在的软件」.在Linux环境中,通过Shell来操作系统很普遍. 这里,考虑到有时候可能想要「多次的进 ...

随机推荐

  1. 2016集训测试赛(二十)Problem A: Y队列

    Solution 考虑给定一个\(n\), 如何求\(1\)到\(n\)的正整数中有多少在队列中. 不难注意到我们只需要处理质数次方的情况即可, 因为合数次方会被其因数处理到. 同时我们考虑到可能存在 ...

  2. Qt小结

    (1)#include 报错fatal error: QHostInfo:No such file or directory, 解决办法 在.pro文件中添加 QT += core gui netwo ...

  3. Android性能优化第(二)篇---Memory Monitor检测内存泄露

    上篇说了一些性能优化的理论部分,主要是回顾一下,有了理论,小平同志又讲了,实践是检验真理的唯一标准,对于内存泄露的问题,现在通过Android Studio自带工具Memory Monitor 检测出 ...

  4. RHEL CentOS Fedora各种源介绍和安装

    CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.   下面介绍各种第三方软件库,以下软件库适用于与RHEL完全兼容的li ...

  5. cordova 中de.sitewaerts.cordova.documentviewer 插件 看pdf图片缩略图与实际图片不一致

    //if (document == nil) // Unarchive failed so create a new ReaderDocument object //{ document = [[Re ...

  6. NVIDIA® Quadro® 四路缓冲 3D立体方案

    http://www.nvidia.cn/object/quadro_pro_graphics_boards_cn.html NVIDIA® Quadro® 专业显卡让地球学家以及时装设计师等许多专业 ...

  7. poj1691--Painting A Board(拓扑+dfs)

    题目链接:点击打开链接 题目大意:一个矩形由n个小矩形组成,如今要给小矩形染色,可是颜料会向下滑,为了防止弄乱颜料,所以要先染上面的矩形,后然染以下的矩形.每一次改变颜色都要用一个新的刷子.问最小用多 ...

  8. mongodb springdata 问题处理

    发现spring4-mongo3.2.1 加上用户名密码认证后无法认证的问题. 1.必须在当前使用的数据库下建用户,权限可以给readWrite 2.由于mongodb2和mongodb3的用户认证方 ...

  9. DIV旋转的測试代码

    <html> <head> <style type="text/css"> .rat0 { -webkit-transform: rotate( ...

  10. sql数据库log自动增长被取消

    原因分析:数据库可分配空间为0 解决方法:增加数据库初始大小