Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75170
  • 博文数量: 44
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-19 16:49
文章分类

全部博文(44)

文章存档

2018年(2)

2017年(1)

2016年(41)

我的朋友

分类: 系统运维

2016-04-29 17:24:57

原文地址:shell条件判断式 作者:w787815


  1. 条件判断式
  2. 只要讲到『程序』的话,那么条件判断式,亦即是『 if then 』这种判别式肯定一定要学习的! 因为很多时候,我们都必须要依据某些数据来判断程序该如何进行。

  3. if .... then
  4. 这个 if .... then 是最常见的条件判断式了~简单的说,就是当符合某个条件判断的时候, 就予以进行某项工作就是了。这个 if ... then 的判断还有多层次的情况!我们分别介绍如下:

  5.  

  6. 单层、简单条件判断式

  7. 如果你只有一个判断式要进行,那么我们可以简单的这样看:

  8. if [ 条件判断式 ]; then
  9.     当条件判断式成立时,可以进行的命令工作内容;
  10. fi <==if 反过来写,就成为 fi 啦!结束 if 之意!
  11. 例子:

  12. [root@www scripts]# cp sh06.sh sh06-2.sh <==用改的比较快!
  13. [root@www scripts]# vi sh06-2.sh
  14. #!/bin/bash
  15. # Program:
  16. # This program shows the user's choice
  17. # History:
  18. # 2005/08/25 VBird First release
  19. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  20. export PATH

  21. read -p "Please input (Y/N): " yn

  22. if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
  23.     echo "OK, continue"
  24.     exit 0
  25. fi
  26. if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
  27.     echo "Oh, interrupt!"
  28.     exit 0
  29. fi
  30. echo "I don't know what your choice is" && exit 0
  31.  

  32. 多重、复杂条件判断式

  33. 简单语法

  34. # 一个条件判断,分成功进行与失败进行 (else)
  35. if [ 条件判断式 ]; then
  36.     当条件判断式成立时,可以进行的命令工作内容;
  37. else
  38.     当条件判断式不成立时,可以进行的命令工作内容;
  39. fi
  40. 更复杂的情况,则可以使用这个语法:

  41. # 多个条件判断 (if ... elif ... elif ... else) 分多种不同情况运行
  42. if [ 条件判断式一 ]; then
  43.     当条件判断式一成立时,可以进行的命令工作内容;
  44. elif [ 条件判断式二 ]; then
  45.     当条件判断式二成立时,可以进行的命令工作内容;
  46. else
  47.     当条件判断式一与二均不成立时,可以进行的命令工作内容;
  48. fi

  49. 例子
  50. [root@www scripts]# cp sh06-2.sh sh06-3.sh
  51. [root@www scripts]# vi sh06-3.sh
  52. #!/bin/bash
  53. # Program:
  54. # This program shows the user's choice
  55. # History:
  56. # 2005/08/25 VBird First release
  57. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  58. export PATH

  59. read -p "Please input (Y/N): " yn

  60. if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
  61.     echo "OK, continue"
  62. elif [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
  63.     echo "Oh, interrupt!"
  64. else
  65.     echo "I don
  66. 转自 
阅读(919) | 评论(0) | 转发(0) |
0

上一篇:shell循环语法

下一篇:find命令

给主人留下些什么吧!~~