当前位置:  操作系统/服务器>linux

linux shell流程控制语句实例讲解(if、for、while、case语句实例)

    来源: 互联网  发布时间:2014-10-16

    本文导语:  一、shell条件语句(if用法) if语句结构[if/then/elif/else/fi] 代码如下:if 条件测试语句 then action [elif 条件 action else action ] fi如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解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


    
 
 

您可能感兴趣的文章:

  • UNIX/LINUX 在case语句里使用?
  • linux 内核一条语句求解
  • linux下用插桩技术实现计算语句覆盖率
  • linux 杀死名字相同的kill语句
  • 求助:linux脚本语言写SQL语句
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • 新手请问一句linux汇编语句
  • 弱弱的问一句,在Linux模块编程中cleanup_module中用什么语句撤销申请的内存
  • 一个关于linux c 编程的小问题?请问下面的语句是什么意思?
  • linux Shell编程问题 for语句
  • linux下如何将sql语句写为脚本
  • unix/linux中eval语句的一个疑问
  • 在linux内核的.config文件中,类似 CONFIG_CC_ALIGN_LOOPS=0 的语句是什么意思?
  • 在linux C 调用 shell 语句 如何才能不回显执行结果
  • 求助一条Linux下AT&T的汇编语句
  • linux bash shell中case语句的实例
  • windows下写的源代码,其中有打印中文语句,移到linux编译后运行中文显示乱码了
  • 小问题---Linux Shell编程之while语句
  • 请教:在linux下如何为一个结构体分配空间?语句该怎么写?
  • . ./auto.func linux shell中的一个语句 不知道社么意思
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 初学linux下的c有苦于找不到什么程序实例学习
  • 急需关于linux多线程的代码工程实例-高手请进啊
  • LINUX中实现单实例功能使用哪种IPC好啊?
  • Linux下Apache和tomcat一机多实例整合问题
  • unix/linux中eval语句的一个疑问 iis7站长之家
  • Linux上建立第二个ORACLE实例分析
  • 大家帮我推荐些在linux下用c语言对数据库操作编程的实例或资料吧!谢谢!
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • linux网络编程小实例 client端连不上server端
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪本linux源码分析的书里详细讲解了Linux的核心启动代码
  • 有没有linux下讲解网络协议的好书?
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分] 领分区01
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分]的领分区02
  • 在线等!谁能给我讲解下这个图啊,linux tcp
  • 那位大侠能讲解一下关于在DEVFS下的LINUX驱动程序和以前的不同之处。非常感谢!
  • 在linux下怎样安装驱动程序和一些软件???(请详细的讲解)
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • linux下讲解MySQL安装与登录方法
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分]
  • linux下无法得到音频流,望有人讲解清楚录音原理,分不够再加
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3