码迷,mamicode.com
首页 > 系统相关 > 详细

Shell Scripts - 条件语句,case语句,function功能

时间:2015-08-08 16:41:50      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:linux   script   条件   case   function   

修改之前的代码

技术分享


技术分享


    1.判断 $1 是否为 hello,如果是的话,就显示 "Hello, how are you ?";
    2.如果没有加任何参数,就提示使用者必须要使用的参数下达法;
    3.而如果加入的参数不是 hello ,就提醒使用者仅能使用 hello 为参数。


技术分享


技术分享


        有兴趣要侦测的是比较常见的 port 21, 22, 25及 80 时,那我如何透过 netstat 去侦测我的主机是否有开启这四个主要的网络服务端口呢?由於每个服务的关键字都是接在冒号『 : 』后面, 所以可以藉由撷取类似『 :80 』来侦测的!

技术分享


技术分享


技术分享


利用 case ..... esac 判断

case  $变量名称 in   <==关键字为 case ,还有变量前有钱字号
  "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键字则为小括号 )
	程序段
	;;            <==每个类别结尾使用两个连续的分号来处理!
  "第二个变量内容")
	程序段
	;;
  *)                  <==最后一个变量内容都会用 * 来代表所有其他值
	不包含第一个变量内容与第二个变量内容的其他程序运行段
	exit 1
	;;
esac                  <==最终的 case 结尾!『反过来写』思考一下!

        要注意的是,这个语法以 case (实际案例之意) 为开头,结尾自然就是将 case 的英文反过来写!就成为 esac 罗! 不会很难背啦!另外,每一个变量内容的程序段最后都需要两个分号 (;;) 来代表该程序段落的结束,这挺重要的喔! 至於为何需要有 * 这个变量内容在最后呢?这是因为,如果使用者不是输入变量内容一或二时, 我们可以告知使用者相关的资讯啊!


技术分享


技术分享


        一般来说,使用『 case $变量 in 』这个语法中,当中的那个『 $变量 』大致有两种取得的方式:

    直接下达式:例如上面提到的,利用『 script.sh variable 』 的方式来直接给予 $1 这个变量的内容,这也是在 /etc/init.d 目录下大多数程序的设计方式。

    互动式:透过 read 这个命令来让使用者输入变量的内容。

技术分享


技术分享


技术分享


技术分享


技术分享


技术分享



版权声明:本文为博主原创文章,未经博主允许不得转载。

Shell Scripts - 条件语句,case语句,function功能

标签:linux   script   条件   case   function   

原文地址:http://blog.csdn.net/zyq522376829/article/details/47357897

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!