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

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

时间:2017-07-29 10:13:59      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:content   mil   init   weight   sdn   man   order   border   冒号   

改动之前的代码

技术分享


技术分享


    1.推断 $1 是否为 hello,假设是的话。就显示 "Hello, how are you ?";
    2.假设没有加不论什么參数。就提示使用者必需要使用的參数下达法;
    3.而假设增加的參数不是 hello ,就提醒使用者仅能使用 hello 为參数。


技术分享


技术分享


        有兴趣要侦測的是比較常见的 port 21, 22, 25及 80 时,那我怎样透过 netstat 去侦測我的主机是否有开启这四个基本的网络服务端口呢?由於每一个服务的keyword都是接在冒号『 : 』后面。 所以能够藉由撷取类似『 :80 』来侦測的。

技术分享


技术分享


技术分享


利用 case ..... esac 推断

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

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


技术分享


技术分享


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

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



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


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享



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

标签:content   mil   init   weight   sdn   man   order   border   冒号   

原文地址:http://www.cnblogs.com/zhchoutai/p/7253448.html

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