学习笔记 shell流程控制语句 if 和 for
2018-09-27 18:43
573 查看
if条件测试语句
使用单分支的if条件语句来判断/media/cdrom文件是否存在,若存在就结束条件判断和整个Shell脚本,反之则去创建这个目录:
[root@localhost ~]# vim 1.sh #!/bin/bash DIR="/media/cdrom" if [ ! -e $DIR ] then mkdir -p $DIR fi
双分支的if条件语句来验证某台主机是否在线,服务器地址为192.168.162.140
[root@localhost ~]# vim 2.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 [root@localhost ~]# bash chkhost.sh 192.168.162.140 Host 192.168.162.140 is On-line. [root@localhost ~]# bash chkhost.sh 192.168.162.150 Host 192.168.1162.150 is Off-line.
有if多分支结构判断成绩“优” “良” “中”
[root@linuxprobe ~]# vim chkscore.sh #!/bin/bash read -p "Enter your score(0-100):" n if [ $n -ge 85 ] && [ $n -le 100 ] ; then echo "优" elif [ $n -ge 70 ] && [ $n -le 84 ] ; then echo "良" else echo "中" fi [root@localhost ~]# bash 01.sh Enter your score(0-100):97 优 [root@localhost ~]# bash 01.sh Enter your score(0-100):50 中
for条件循环语句
使用for循环从列表中读取多个用户,逐一创建用户账户并设置密码
[root@linuxprobe ~]# vim 1234.txt andy barry carl duke eric george [root@localhost ~]# vim 02.sh #!/bin/bash read -p "Enter The Users Password : " n for u in `cat 1234.txt` do id $u &> /dev/null if [ $? -eq 0 ] then echo "Already exists" else useradd $u &> /dev/null echo "$n" | passwd --stdin $u &> /dev/null if [ $? -eq 0 ] then echo "$u , Create success" else echo "$u , Create failure" fi fi done [root@localhost ~]# bash 02.sh Enter The Users Password : linuxprobe andy , Create success barry , Create success carl , Create success duke , Create success eric , Create success george , Create success
双分支if条件语句与for循环语句相结合,让脚本从主机列表文件ipadds.txt中自动读取IP地址
[root@linuxprobe ~]# vim ip1.txt 192.168.162.141 192.168.162.142 192.168.162.140 [root@linuxprobe ~]# vim 03.sh #!/bin/bash HLIST=$(cat ~/ip1.txt) for IP in $HLIST do ping -c 3 -i 0.2 -W 3 $IP &> /dev/null if [ $? -eq 0 ] ; then echo "Host $IP is On-line." else echo "Host $IP is Off-line." fi Done [root@linuxprobe ~]# bash 03.sh Host 192.168.162.141 is Off-line. Host 192.168.162.142 is Off-line. Host 192.168.162.140 is On-line.阅读更多
相关文章推荐
- Shell学习笔记(9)-流程控制之For语句
- Shell学习笔记(8)-流程控制之IF语句
- C++学习笔记 5th —— 万能流程控制if语句 续篇:扩展与实际应用
- Go语言学习笔记 --- 控制语句之if判断,循环语句for, switch语句和跳转语句
- shell脚本之-if流程控制语句和for循环语句的使用
- (原创)c#学习笔记04--流程控制03--分支02--if语句
- 【Swift】学习笔记(五)——控制语句(if,switch,for-in,for,while,do-while)
- linux学习笔记之shell编程(三)流程控制(1)---if分支语句
- 学习笔记 shell流程控制语句 while条件循环语句和case条件测试语句
- Shell学习笔记(11)-流程控制之select、until语句
- 【Linux学习笔记】Shell 基础(3) — Shell流程控制语句
- Go学习笔记 (二) : 流程控制(if,for,switch) 与 函数 与 struct (匿名字段)
- Linux学习之Shell--第三天:Shell流程控制-if语句
- python学习笔记3—流程控制if、for、while
- C++学习笔记 4th —— 万能流程控制if语句
- 【转】shell学习笔记(六)——流程控制之for循环
- Linux学习之Shell--第四天:Shell流程控制-循环语句for
- Linux学习之Shell--第三天:Shell流程控制-if语句
- Java 笔记 之 流程控制语句( if & switch & for & while)
- Java学习笔记六:Java的流程控制语句之if语句