Shell脚本编程---条件判断if

SHELL脚本编程---判断

1、条件判断

条件判断在bash分为整数判断,字符判断和文件判断。

1-1条件判断的表达式: ① [ expression ] (注意单词词头和词尾都需要空格)

② [[ expression ]](注意同上)

③ test expression

1-2 整数比较

① -eq  测试两个数是否相等,相等为真,不等为假

② -ne  测试两个数是否不等, 反之。

③ -gt (大于),-lt (小于),-ge(大于或等于),-le(小于或等于)

逻辑与:&&   逻辑或: ||

2、条件判断,控制结构

if  判断条件;then

statement1

statement2

statement3

………

fi   单分支if语句。

双分支的if语句

if 判断条件;then

statement1

else

statement2

fi

命令执行状态返回值:0为真,其他数值全为假。

==================以下全部都为练习例题===============

逻辑判断题1、

1、如果用户不存在,则添加用户

id USERNAME &> /dev/null || useradd USERNAME

(一般在脚本中定义的变量内容,脚本执行结束,变量就会被撤销)

逻辑判断2、

1、如果用户存在,就显示用户已经存在,否则就添加此用户。

id newuser && echo “newuser exists” || useradd newuser

逻辑判断3、

1、如果用户不存在,就要添加用户,否则就显示用户已存在

id newuser &> /dev/null && echo “newuser exist” || useradd newuser

逻辑判断4、

如果用户不存在,添加还给密码,否则,显示用户已经存在

id newuser2 && echo “newuser2 exists” || useradd newuser2 && echo “newuser2” | passwd --stdin newuser2

条件判断练习题:

添加三个用户,user1-user3。需要提前判断用户是否存在,并显示添加了几个用户。最后显示当前系统上用户的数量

练习题二:

写一个脚本,使用一个变量保存用户名,判断其是否存在先,而且如果其UID为0,就说它是管理员,如果不为0就说它们是普通用户。

写一个简单脚本,完成如下的任务、

使用一个变量保存用户名,删除变量中的用户,以及它的家目录,显示“删除成功”信息。

练习题三:

判断当前系统上是否有用户默认的shell为bash,如果有,就显示有多少个这样的用户,否则,就显示没有。

========(注意:这里面有个叫RETVAL=$? 这个写在那个命令语句后面,执行的就是哪个后面的命令执行状态返回结果。)=========

练习题四:

判断当前系统上是否有用户默认的shell为bash,如果有,就显示其中的一个用户名,否则,就显示没有。

练习四:写脚本,给定一个文件,如/etc/inittab,判断文件中是否有空白的行,如果有,显示空白行数,否则,显示没有空白行。

练习四改进:写脚本,让用户随便输入一个文件,判断该文件是否有效,如果有效,则显示其空白的行,否则,显示没有空白行。

练习五:随便给一个用户,判断它的UID和GID是否一致,如果一致,显示用户为”good guy“

否则,显示为bad guy

练习六:判定命令历史中历史命令的总条目是否大于等于1000,如果大于等于1000,则显示“need clean up”,否则显示“ok!”

或者是

时间: 11-09

Shell脚本编程---条件判断if的相关文章

Shell脚本IF条件判断和判断条件总结

转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下 前言:      无论什么编程语言都离不开条件判断.SHELL也不例外. if list then           do something here       elif list then           do another thing here       e

Linux Shell脚本 之 条件判断

首先想到的就是if else条件判断语句了,下面给出一个全面的语句: if condition then condition is true execute all commands up to elif statement elif condition1 then condition1 is true execute all commands up to elif statement elif condition2 then condition2 is true execute all com

shell脚本之条件判断

脚本:命令的堆砌 任何脚本的首行: #!/bin/bash :也就是解释器路径 除此之外前面加#号的为注释 脚本执行之前要给执行权限:chmod +x 文件名 bash中实现条件判断: 条件测试类型: 整数测试 字符测试 文件测试 条件测试表达式: [ expression ] [[ expression ]] test expression 整数比较: -eq:测试两个整数是否相等:比如$a -eq $b,相等返回0 -ne:测试两个整数是否不等:不等为真,相等为假 -gt:测试一个数是否大于

shell脚本编程:条件判断if语句使用小结

shell脚本编程,有三种控制结构分别是:顺序结构,条件判断结构,循环结构.本文将总结shell脚本中条件判断结构的使用方法. 条件判断结构分为三种,单分支,双分支,多分支,等结构. 单分支结构的语法如下: if [ expression  ] ;then statement1 statement2 ......... fi 双分支语法结构: if [ expression ];then statement1 statement2 ..... else statement3 statement4

Shell脚本编程概述(一):算数运算和条件测试

一.shell脚本语言 1.编程语言的分类: (1)根据运行方式 编译运行:源代码 --> 编译器 (编译)--> 程序文件: 解释运行:源代码 --> 运行时启动解释器,由解释器边解释边运行: (2)根据其编程过程中功能的实现是调用库还是调用外部的程序文件: shell脚本编程:利用系统上的命令及编程组件进行编程: 完整编程:利用库或编程组件进行编程: (3)编程模型: 过程式编程语言:以指令为中心来组织代码,数据是服务于代码: 顺序执行.选择执行.循环执行:代表:C,bash 面向对

《跟老男孩学Linux运维之shell编程实战》-第五章 shell脚本的条件测试

本文的知识点是关于shell脚本的条件测试的相关内容. 通常在shell脚本中我们需要做各式各样的条件判断,比如,测试一个文件是否存在.是否为文件或目录.是否 具有执行权限等等,所以在shell脚本中,条件判断还是至关重要的.接下来我们进入正题:shell脚本的条件测试. 1.在bash编程中,条件测试常用的语法形式如下表: 提示: 语法1中的test命令和语法2中的[]是等价的.语法3中的[[]]双中括号为扩展的test命令. 语法4中的(())常用于计算. 在双中括号[[]]中可以使用通配符

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句 一:实验环境 1):虚拟机 2):linux系统 二:实验目标 1): shell 基本语法 2):变量 3):表达式 4):判断语句 5): if表达式 三:实验脚本 第一块 一个简单的shell脚本程序 [[email protected] ~]# mkdir test [[email protected] test]# vim example1.sh #!/bin/bash #This is to show wha

Shell脚本编程知识点总结及范例

 一:关于语言 1)编译性语言 编译型语言多半运作于底层,所处理的是字节.整数.浮点数或其它及其机器层经的对象.处理过程为:源程序--预处理--编译--汇编--链接,编译性语言为静态语言. 2)解释性语言 解释性语言读入程序代码并将其转化为内部的形式加以执行.处理过程:解释性(文本文件)-解释器去读取并执行.解释性语言为动态语言. 二:基础 变量类型 linux脚本中的变量不需要事先声明,而是直接定义使用(这点不同于其他高级编程语言中变量的使用)bash变量类型分为本地变量和环境变量. 本地变量

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假