shell脚本编程之if条件判断与for、while、until循环

一、if语句

语法:
if 测试条件1 ; then
       分支1
elif  测试条件2; then
       分支2
...
else 
       分支n
fi

说明:测试条件1为真,则执行分支1退出;测试条件1为假,则判断测试2是否为真,根据返回值来决定是否执行分支2

           ;后续分支同理。

示例:传递一个用户给脚本:

如果此用户的id为0,则显示说这是管理员:

如果此用户的id大于等于500,则显示说这是普通用户

如果此用户的id大于0小于500,则显示说这是系统用户

否则,则显示此用户不存在

2.png

二、for循环

语法:
for 变量名 in 取值列表
do
     循环体
done

说明:变量依次从取值列表中取值后执行循环体,则至遍历取值列表。

示例:利用for循环计算/etc/passwd中所有用户UID相加之和。

3.png

三、while循环

语法:
while 条件测试; do 
      循环体
done

说明:首先进行条件测试,如果结果为真,则进入循环,执行循环体;结果为假,则退出循环。

示例:利用while循环求100以内正整数之和。

4.png

四、until循环

语法:
until 条件测试; do 
      循环体
done

说明:until与while刚好相反,条件测试结果为假则进入循环,为真则退出循环。

示例:利用until循环求100以内正整数之和。

5.png

原创文章,作者:老鼠上了猫,如若转载,请注明出处:http://www.178linux.com/7282

(2)
上一篇 2015-08-24 21:44
下一篇 2015-08-24 21:46

相关推荐

  • 一个“蝇量级” C 语言协程库

    协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那么实际上协程就是类函数一样的程序组件,你可以…

    Linux干货 2016-08-15
  • Linux 系统启动流程与grub的应用

    一 Linux 系统启动流程    POST –> BIOS(Boot Sequence) –> MBR(bootloader) –> kernel + initramfs(或initrd) –> rootfs (ro) –> /sbin/init …

    Linux干货 2016-03-07
  • Linux用户管理相关(2)

    Q1:复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@CentOS7_2 home]# cp -r /etc/skel/ /home/tuser1 [root@CentOS7_2 home]# …

    Linux干货 2016-11-16
  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x….

    Linux干货 2017-07-20
  • ​20151208完成了第二天课程中的第一课:Osey Linux发行版(01)

    完成了第二天课程中的第一课:Osey Linux发行版(01) 今天公司晚上有加班,回来晚了。只完成了第一课:Osey Linux发行版(01) 简要笔记如下: Linux哲学思想:    1、一切皆文件:             把几乎所有的资源,包括硬件设备都组织为文件格式;…

    Linux干货 2015-12-10
  • Linus Torvalds 语录 Top 10

    下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。 “Really, I’m not out to dest…

    Linux干货 2015-04-03