千家信息网

linux shell流程控制语句有哪些

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容主要讲解"linux shell流程控制语句有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"linux shell流程控制语句有哪些"吧!一、
千家信息网最后更新 2025年01月17日linux shell流程控制语句有哪些

本篇内容主要讲解"linux shell流程控制语句有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"linux shell流程控制语句有哪些"吧!

一、shell条件语句(if用法)

if语句结构[if/then/elif/else/fi]

代码如下:

if 条件测试语句

then

action

[elif 条件

action

else

action

]

fi


如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解
shell命令,可以按照分号分割,也可以按照换行符分割。如果想一行写入多个命令,可以通过"';"分割。
如:

代码如下:


[chengmo@centos5 ~]$ a=5;if [[ a -gt 4 ]] ;then echo 'ok';fi;
ok

实例:(test.sh)

代码如下:

#!/bin/sh

scores=40;
if [[ $scores -gt 90 ]]; then
echo "very good!";
elif [[ $scores -gt 80 ]]; then
echo "good!";
elif [[ $scores -gt 60 ]]; then
echo "pass!";
else
echo "no pass!";
fi;



条件测试有:[[]],[],test 这几种,注意:[[]] 与变量之间用空格分开。

二、循环语句(for,while,until用法):

1.for循环使用方法(for/do/done)

语法结构:

代码如下:

1.for … in 语句

for 变量 in seq字符串

do

action

done

说明:seq字符串 只要用空格字符分割,每次for…in 读取时候,就会按顺序将读到值,给前面的变量。

实例(testfor.sh):

代码如下:

#!/bin/sh

for i in $(seq 10); do
echo $i;
done;


seq 10 产生 1 2 3 。。。。10空格分隔字符串。

2.for((赋值;条件;运算语句))

代码如下:

for((赋值;条件;运算语句))

do

action

done;

实例(testfor2.sh):

代码如下:

#!/bin/sh

for((i=1;i<=10;i++));do
echo $i;
done;



3.while循环使用(while/do/done)

while语句结构

代码如下:

while 条件语句

do

action

done;

实例1:

代码如下:


#!/bin/sh
i=10;
while [[ $i -gt 5 ]];do
echo $i;
((i--));
done;


运行结果:========================

代码如下:

sh testwhile1.sh
10
9
8
7
6

实例2:(循环读取文件内容:)

代码如下:


#!/bin/sh

while read line;do
echo $line;
done < /etc/hosts;

运行结果:===================

代码如下:

sh testwhile2.sh


# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 centos5 localhost.localdomain localhost

4.until循环语句

语法结构:

代码如下:

until 条件

do

action

done

意思是:直到满足条件,就退出。否则执行action.

实例(testuntil.sh):

代码如下:

#!/bin/sh

a=10;

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

echo $a;

((a-));

done;

运行结果:

sh testuntil.sh

代码如下:

10
9
8
7
6
5
4
3
2
1
0

三、shell选择语句(case、select用法)

1.case选择语句使用(case/esac)

语法结构

代码如下:

case $arg in
pattern | sample) # arg in pattern or sample

pattern1) # arg in pattern1

*) #default

esac

说明:pattern1 是正则表达式,可以用下面字符:

* 任意字串
? 任意字元
[abc] a, b, 或c三字元其中之一
[a-n] 从a到n的任一字元
| 多重选择

实例:

代码如下:

#!/bin/sh

case $1 in
start | begin)
echo "start something"

stop | end)
echo "stop something"

*)
echo "Ignorant"

esac

运行结果:======================

代码如下:

testcase.sh start
start something

2.select语句使用方法(产生菜单选择)

语法:

代码如下:

select 变量name in seq变量

do

action

done

实例:

代码如下:

#!/bin/sh

select ch in "begin" "end" "exit"
do
case $ch in
"begin")
echo "start something"

"end")
echo "stop something"

"exit")
echo "exit"
break;

*)
echo "Ignorant"

esac
done;

运行结果:



说明:select是循环选择,一般与case语句使用。

到此,相信大家对"linux shell流程控制语句有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

代码 语句 条件 实例 循环 变量 字符 结构 结果 运行 选择 语法 流程 控制 内容 字符串 方法 空格 测试 运算 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库的安全检查表 无线网络技术导论第三版课后 网络安全主题教育宣传活动方案 宽带网络技术吃香吗 当今 互联网科技广泛运用 为什么登微信说服务器 沭阳小型网络技术保养 泸州网络安全科技协会 数据库管理专业证书 can上位机软件开发 软件开发图书 开阳县网络安全 12306网站的数据库查询的题 北京信息化软件开发大概费用 安卓软件开发实例 为什么登录服务器认证会失败 手机软件开发团队微信 学校加强网络安全教育 服务器dns显示都是0啥意思 河南移动城管软件开发公司 数据库数据精度考虑 怀旧服哪个服务器搬砖最赚钱 软件开发有限公司百度百科政务 南关区通用网络技术服务保障 昆明专业性软件开发价格实惠 服务器托管 知乎 上海智慧门禁软件开发哪家好 游戏软件开发环境分析报告 软件开发培训机构选极客时间 武汉网络安全基地专业
0