Shell 流程控制语句

简介: Shell 流程控制语句

在 Linux Shell 编程中,if、for、while、case 等条件流程控制

语句用的非常多,把这些学好,对提升脚本的功力有非常大的帮助。

下面将逐个来讲解具体的用法:

 If 条件判断语句

If (表达式) #if ( Variable in Array )

语句 1

else

语句 2

fi

案例一,测试数字大小

#!/bin/sh

NUM=100

if (( $NUM > 4 )) ;then  

echo “this num is $NUM greater 4 !”

fi案例二,测试目录是否存在,不存在则新建(注意,中括号之间必须

要空格)

#!/bin/sh

#judge dir exist

if [ ! -d /data/20140515 ];then  

mkdir -p /data/20140515

else

echo “This DIR is exist,Please exit …..”

fi

逻辑运算符解析:

-f 判断文件是否存在 eg: if [ -f filename ]

-d 判断目录是否存在 eg: if [ -d dir ]

-eq 等于 应用于:整型比较

-ne 不等于 应用于:整型比较

-lt小于 应用于:整型比较

-gt 大于 应用于:整型比较

-le 小于或等于 应用于:整型比较

-ge 大于或等于 应用于:整型比较

-a 双方都成立(and) 逻辑表达式 –a 逻辑表达式

-o单方成立(or) 逻辑表达式 –o 逻辑表达式

-z 空字符串案例三,多个条件测试判断

#!/bin/sh

scores=80;

if [[ $scores -gt 85 ]]; then

echo "very good!";

elif [[ $scores -gt 75 ]]; then

echo "good!";

elif [[ $scores -gt 60 ]]; then

echo "pass!";

else

echo "no pass!";

fi;

 循环语句 for  

For 变量 in 字符串

do

语句 1

done

案例一,打印 seq 多个数#!/bin/sh

for i in `seq 15`

do

echo “NUM is $i”

done

案例二,找到相关 log,然后批量打包

#!/bin/sh

for i in `find /var/log -name “*.log”`

do

tar –czf 2014log.tgz $i

done

 循环语句 while

while 条件语句

do

语句 1

done案例一,while 条件判断数字

#!/bin/sh

i=1;

while [[ $i -lt 10 ]];do

echo $i;

((i++));

done;

案例二,while 逐行读取某个文件

#!/bin/sh

while read line

do

echo $line;

done < /etc/hosts

 Until 循环语句

until 条件

do

action

done直到满足条件,才退出。否则执行 action。

案例一,条件判断数字

#!/bin/sh

a=10;

until [[ $a -lt 0 ]];do

echo $a;

((a--));

done;

案例一,创建选择参数脚本

#!/bin/sh

case $1 in

monitor_log)

monitor_log

;;

archive_log)

archive_log

;;

* )

echo "Usage:{$0 monitor_log | archive_log |help }"

;;

esac

 select 选择语句

#!/bin/sh

PS3="What you like most of the open source system?"

select i in CentOS RedHat Ubuntu  

do

echo "Your Select System: "$i

done

目录
相关文章
|
4月前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
Shell
Shell“我自己写了个程序?”-流程控制语句
Shell“我自己写了个程序?”-流程控制语句
66 0
|
存储 Java Shell
shell&流程控制语句if
shell 流程控制语句if
|
运维 Shell
【运维知识高级篇】超详细的Shell编程讲解4(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)(二)
【运维知识高级篇】超详细的Shell编程讲解4(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)(二)
106 0
|
运维 Shell 数据安全/隐私保护
【运维知识高级篇】超详细的Shell编程讲解4(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)(一)
【运维知识高级篇】超详细的Shell编程讲解4(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)
162 0
|
Shell 开发者
shell 流程控制语句及 break-continue 使用方法 | 学习笔记
快速学习 shell 流程控制语句及 break-continue 使用方法。
144 0
shell编程04【流程控制语句】
shell编程04【流程控制语句】