linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法。
一、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 … 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;
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
语法结构:
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用法)
语法结构
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
语法:
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语句使用。
以上是shell的流程控制语句,条件,循环,选择。 欢迎讨论交流!
转载自:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html
分享到:
相关推荐
Linux Shell编程-流程控制与循环(MD笔记)
### Shell编程-流程控制-if语句 在Shell脚本编程中,流程控制是实现复杂逻辑的关键部分之一。其中,`if`语句是最基本也是最重要的流程控制结构之一,用于根据不同的条件来决定程序的执行路径。本文将详细介绍如何在...
11.1 Shell编程-正则表达式.mp4 11.2.1 Shell编程-字符截取命令-cut命令.mp4 11.2.2 Shell编程-字符截取命令-printf命令.mp4 11.2.3 Shell编程-字符截取命令-...11.5.4 Shell编程-流程控制-while循环与until循环.mp4
本文将深入探讨Shell编程中的流程控制,包括`for`、`while`、`until`循环,以及`case`条件选择和`select`交互式选择。此外,还将介绍一些关键的控制关键字和函数定义,以及`read`、`readonly`和`expr`表达式等相关...
《shell编程-unix》是一本专为Unix系统中的shell编程爱好者和专业人士精心编写的指南。本书全面深入地探讨了shell编程的各种技巧和核心概念,旨在帮助读者提升在Unix环境中利用shell脚本解决问题的能力。 第一部分...
本文介绍了Shell脚本中几种常用的流程控制结构,包括if语句、case语句、for循环、while循环以及until循环,每种结构都给出了具体的使用场景和实例说明,旨在帮助初学者快速掌握Shell脚本的基本流程控制方法。...
**Linux Shell编程简介** 在深入探讨Linux Shell编程之前,我们先来理解一下Shell的基本概念。Shell,简单来说,就是Linux系统中的用户界面,它为用户提供了一种与操作系统内核交互的方式。内核负责处理硬件资源和...
【shell编程--用户信息管理(模拟)】 shell编程在Linux操作系统中扮演着重要角色,它是一种解释型的脚本语言,常用于自动化任务和系统管理。在这个课程设计中,学生被要求模拟用户信息管理,这涉及到对Linux系统中...
3. **流程控制**:讲解if、else、for、while等条件和循环语句的用法。 4. **函数**:如何定义和调用自定义函数,以实现代码复用。 5. **输入/输出重定向**:如何改变命令的标准输入、输出和错误输出,实现文件操作...
### Shell 编程基础知识 ...这些知识点涵盖了 Shell 编程的基础内容,包括脚本创建、命令执行、变量定义与使用、条件判断、流程控制等方面。对于初学者来说,熟练掌握这些概念是进一步深入学习 Shell 编程的重要基础。
Shell编程是一种在Unix/Linux操作系统环境下进行系统管理与自动化任务处理的脚本语言。...深入研究这个项目不仅可以提升对Shell编程的理解,还能学习到如何在实际业务中应用Shell脚本来优化流程,提高效率。
"Linux命令行与shell脚本编程- 控制脚本案例"这个主题深入探讨了如何利用这些工具来提升工作效率。以下是对相关知识点的详细说明: 1. **Linux命令行**:Linux命令行界面,也称为终端或控制台,是用户与系统交互的...
3. 根据逻辑和语法结构来编写脚本(条件判断或者流程控制) 步骤: vim ping.sh #!/bin/bash # Name:ping.sh # Path:/shell02/ # Usage:/shell02/ping.sh # ... #获取远程主机的IP地址(定义变量让用户自己输入) ...
4. **流程控制**:在处理复杂任务时,Shell的流程控制结构如条件判断和循环是必不可少的。例如,通过`if`和`case`结构实现条件分支,通过`for`、`while`和`until`进行循环。 5. **脚本调试与错误处理**:良好的脚本...