`

liux shell 流程控制语句学习

 
阅读更多

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;

 

image

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

 

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

  • 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;

image

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;

image

 

 

  • 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

  • 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用法)

  • 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

  • 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;

运行结果:

image

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

 

 

以上是shell的流程控制语句,条件,循环,选择。 欢迎讨论交流!

以上内容来源于:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html

分享到:
评论

相关推荐

    linux shell学习资料

    在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本全面学习知识点概述 #### 一、Linux脚本编写基础 **1.1 语法基本介绍** **1.1.1 开头** - **解释**: 每个Shell脚本都需要以 `#!/bin/sh` 开始,这行被称为shebang,用于指示系统如何执行此...

    linux shell 视频教学

    在这个"Linux Shell视频教学"中,你将深入学习如何有效地利用Shell进行日常的系统管理、文件操作以及自动化工作流程。 首先,你需要了解Shell的基础知识,包括如何启动和退出Shell,以及基本的命令行操作,如目录...

    LinuxShell编程基础.pdf

    条件语句可以用来控制程序的执行流程,根据不同的条件执行不同的操作。常见的条件语句有 if 语句、case 语句、while 语句等。 3. 循环语句 循环语句是在 Shell 编程中非常重要的一个概念。循环语句可以用来重复...

    linux shell 编程经典 教程

    通过学习《LINUX与UNIX SHELL编程指南》这本书,你将能够熟练掌握Linux Shell编程技巧,利用这些技能实现日常系统维护、自动化任务处理,甚至开发复杂的系统管理工具。在阅读过程中,结合实践操作,将理论知识转化为...

    linux shell脚本攻略源代码

    Linux Shell脚本是一种在Linux操作系统环境下执行的命令行脚本,它允许用户通过编写一系列的命令来自动化系统...这份“Linux Shell脚本攻略源代码”资源无疑是学习过程中的一大助力,建议结合实践进行深入学习和研究。

    LINUX SHELL 脚本攻略

    Shell脚本的基本构成包括:变量、环境变量、命令执行、流程控制(如if语句、for循环、while循环等)、函数定义和使用、输入输出处理等。掌握这些基本元素对于编写有效、高效的Shell脚本至关重要。 1. 变量和环境...

    linux shell编程手册

    3. **流程控制结构**:Shell脚本支持条件语句(如`if`、`if-else`、`case`)和循环语句(如`for`、`while`、`until`)。这些控制结构使我们能够根据特定条件执行不同代码块,实现复杂的逻辑。 4. **函数与别名**:...

    linux_shell从初学到精通

    在“Linux Shell从初学到精通”中,你将学习如何使用重定向(&gt;,&gt;&gt;)和管道(|)来操控输入和输出。重定向可以把命令的输出写入文件,而管道则可以将一个命令的输出作为另一个命令的输入,实现命令间的连接。 此外...

    LINUX SHELL编程从初学到精通

    由于提供的文件内容存在...在学习Shell编程的过程中,重要的是不断实践,通过编写和运行脚本,来加深对知识点的理解和掌握。此外,还应关注社区和论坛,学习其他开发者的经验,以及跟踪最新的Shell编程动态和技术更新。

    linux Shell 编程实例书一本

    在学习过程中,记得多动手实践,结合自己的实际工作需求,不断探索和改进脚本,才能真正掌握Linux Shell编程的精髓。此外,还可以参考其他开源社区和论坛,如Stack Overflow、Unix & Linux Stack Exchange,获取更多...

    Linux shell 详细教程

    4. **流程控制**:掌握break、continue等流程控制命令,实现复杂逻辑。 三、Unix命令 1. **文本处理命令**:熟悉grep(搜索)、sed(流编辑器)、awk(数据处理工具)等,进行文本过滤、替换、格式化等操作。 2. ...

    linux shell 编程教材配套PPT

    4. **控制结构**:条件语句(if-else、case)和循环结构(for、while、until),用于实现基于条件的程序流程控制。 5. **函数**:如何定义和调用Shell函数,提高代码复用性。 6. **参数处理**:脚本接收命令行参数...

    Linux Shell 脚本攻略

    通过学习这个《Linux Shell脚本攻略》,你将能够编写出高效、易维护的Shell脚本来解决各种自动化任务,提高你的系统管理和开发效率。无论是日常运维还是嵌入式系统编程,熟练掌握Shell脚本都是不可或缺的技能。

    Linux shell命令学习心得

    总的来说,Linux shell命令的学习是一个不断实践和探索的过程。通过不断地练习和查阅手册,我们可以逐步掌握这个强大的工具,提升在Linux环境中的操作技能。对于开发者和系统管理员来说,精通shell命令不仅能提高...

    Linux shell 脚本攻略

    本书《Linux Shell脚本攻略》(第2版)深入浅出地介绍了Shell脚本的编写技巧和实战应用,非常适合对Linux感兴趣的初学者学习。 **Shell脚本基础** 1. **Shell介绍**:Shell是Linux的命令解释器,它提供了一个与...

    linux shell 脚本入门

    Linux Shell脚本是Linux系统中用于自动化任务的强大工具,它基于Bash或其他Shell解释器,允许用户编写一系列命令,以实现批处理、任务调度或任何需要自动化的工作流程。本PDF文档"shell-script-entry.pdf"提供了18页...

Global site tag (gtag.js) - Google Analytics