1.利用if ...then

if [ 判断条件 ];then
指令
fi

实例一 Y/N:

#!/bin/bash
#Program:
# This program shows "Hello World!" in your screen.
#History:
# // lzyer First release
read -p "Please input (Y/N)? " yn
if [ "${yn}" == "Y" ] || [ "${yn}" == "y" ];
then
echo "OK,continue."
exit
fi
if [ "${yn}" == "N"] || [ "${yn}" == "n" ];
then
echo "oh,interrupt!"
exit
fi
echo "I don't know what your choice is " && exit

实例二:

  1. 判断 $1 是否为 hello,如果是的话,就显示 "Hello, how are you ?";
  2. 如果没有加任何参数,就提示使用者必须要使用的参数下达法;
  3. 而如果加入的参数不是 hello ,就提醒使用者仅能使用 hello 为参数。
#!/bin/bash
#Program:
# check $ is equal to "hello"
#History:
#// lzyer First Release
if [ "${1}" == "hello" ];then
echo "Hi, how are you?"
elif [ "${1}" == "" ]; then
echo "you must input parameter"
else
echo "hello~~~"
fi

实例三 使用netstat 的指令查看服务的状态

#!/bin/bash
#Program:
# using netstat and grep to detect www.ssh,ftp and mail service.
#History:
#// lzyer First release
echo "Now, I will detect your Linux server' service!"
echo -e "The www,ftp,ssh and mail will be detect!"
testfile=/home/lzyer/test/bin/netstat_file.txt
netstat -tuln > ${testfile}
testing=$(grep ":80" ${testfile})
if [ "${testing}" != "" ];then
echo "www is running in your system."
fi
testing=$(grep ":22" ${testfile})
if [ "${testing}" != "" ];then
echo "ssh is running in your system."
fi
testing=$(grep ":21" ${testfile})
if [ "${testing}" != "" ];then
echo "ftp is running in your system."
fi
testing=$(grep ":25" ${testfile})
if [ "${testing}" != "" ];then
echo "mail is running in your system."
fi

实例四:计算退伍时间

#!/bin/bash
#Program:
# You input demobillization date, I calculate how many days before you demobilize.
#History:
#// lzyer First release
echo "this program will try to calculate:"
read -p "how many days before you demobillization date (YYYYMMDD>20170805): " date2
date_d=$(echo ${date2} | grep '[0-9]\{8\}')
if [ "${date_d}" == "" ];then
echo "You input the wrong date format..."
exit
fi
declare -i date_dem=$(date --date="${date2}" +%s)
declare -i date_now=$(date +%s)
declare -i date_total_s=$((${date_dem}-${date_now}))
declare -i date_d=$((${date_total_s}///))
if [ ${date_total_s} -lt ];then
echo "You had been demobilization before : " $((-*${date_d})) "day ago"
else
declare -i date_h=$((((${date_total_s}-${date_d}**))//))
echo "You will demobilization after ${date_d} days and ${date_h} hours."
fi

2.利用 case ..... esac 判断

实例一:

#!/bin/bash
#Program:
# show "hello" from $...by case esac
#History:
#// lzyer first release
case ${} in
"hello")
echo "hello,how are you?";;
"")
echo "please your input sth.";;
*)
echo "Usage ${0} hello";;
esac

3.利用 function 功能

#!/bin/bash
#Program:
# function use
#History:
#// lzyer first release
function print(){
echo "Your choice is ${1}"
}
echo "This program will print your selection !"
case ${} in
"one") print ;;
"two") print ;;
"three") print ;;
*) echo "Usage ${0} one|two|three";;
esac

linux 条件判断式的更多相关文章

  1. 第十三章、学习 Shell Scripts 条件判断式

    利用 if .... then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容: fi <==将 if 反过来写,就成为 fi !结束 i ...

  2. 【重点】Shell入门教程:流程控制(3)条件判断式的真假值

    之前曾提到,在Bash中什么是真什么是假,是以命令的结束状态是否为0来做判断.传回0,即为真:传回非0,即为假. 在Bash中,这种可以影响程序流程的式子,称为条件判断式.判断式的操作数分成“单元”及 ...

  3. 【shell】条件判断式

    条件判断式的表示格式: 文件判断式: [root@andon ~]# [ -e /root/1 ] && echo yes || echo no #注意[]里面的空格,第一个命令为真打 ...

  4. shell编程 条件判断式----利用 case ..... esac 判断

    条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   &l ...

  5. shell编程 条件判断式----利用 if .... then ----多重

    条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn ...

  6. Linux 条件判断

    1. 按照文件类型判断 -b 文件 #判断文件是否存在,并且是设备文件 -c 文件 #判断文件是否存在,并且是字符设备文件 -d 目录 #判断目录是否存在,并且是否为目录(是目录返回真) -e 文件 ...

  7. Shell学习笔记 - 条件判断式

    1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ]  -- 推荐使用 例: [ -e /root/install.log ] ...

  8. linux条件判断:eq、ne、gt、lt、ge、le

    -eq(equal) :判断是否相等,相等为真 -ne(inequality):判断是否不等,不等为真 -gt(greter than):判断是否大于,大于为真 -lt(less than):判断是否 ...

  9. Linux学习之第十九、条件判断

    原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_4.php 条件判断式 只要讲到『程序』的话,那么条件判断式,亦即 ...

随机推荐

  1. python与mysql的连接过程

    1.cmd---pip3 install PyMySQL2.>>>import pymysql3.mysql>create database bookdb character ...

  2. node 动态页面渲染

    代码: 'use strict' const express = require('express'); const consoldiate = require('consolidate'); con ...

  3. C#导出数据到CSV和EXCEL文件时数字文本被转义的解决方法

    今天写C#导出datagrid数据到csv格式文件的时候,发现不管怎么尝试,凡是单元格里面全是数字的单元格,在用Excel打开的时候,都被自动转义成数据格式.数据查看极其不方便.最后google了一下 ...

  4. html5学得好不好,看掌握多少标签

    html5学得好不好,看掌握多少标签 已回复 会员ID:wi701329 保密 62岁 时间:2016-06-28 06:52:49 html5你了解了多少?如果你还是入门阶段的话,或者还是一知半解的 ...

  5. 分分钟搞定redis

    随着科技不断的发展,使用到的技术也是更新换代,大家都知道当一个程序用户量上来之后,必然是要做数据缓存的,那么如何去实现的呢,在之前我们一直使用memcache去做数据缓存,现在众所周知主流的缓存技术已 ...

  6. 初探Qt Opengl【1】

    最近一直在学习Qt的opengl绘图,看到好多资源都是关于以前的旧版本的, 我将我这几天学的的部分关于opengl的做个总结,也希望对需要学习的人有一定的帮助 在我的学习中,我主要用到一下三个方法 # ...

  7. 虚拟现实-VR-UE4-编辑自定义Character-上下左右移动-旋转

    在上一片文章中,我创建了一个自定义的Character,但是只是有一行log显示,我使用了自己的Character,不能有任何操作,这里,我将记录我修改我的Character的过程 万事第一步,打开工 ...

  8. tp5 项目实战 初级 文字步骤

    项目实战 环境搭建 新建模块  admin 新建文件夹 controller   model  view View   中新建 user  index 相关样式  js   图片     放入publ ...

  9. Daily Scrum02 12.05

    deadline果然是第一生产力...这学期一下子4~5个大的Project.然后截止日期都在近期.所有的组员都很辛苦!大家加油~ 这个scrum是当天过后一天补上的.因为当前负责的同学正在忙于编译大 ...

  10. [android]不解锁刷机

    本人因为误操作进入andriod recovery模式,显示failed to boot 2,致手机无法恢复出厂值, 当时那叫一个郁闷.上论坛搜寻无数,唉让刷底包的无数(在此不解释),万恶的刷底包. ...