改动之前的代码
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 $变量 in 』这个语法中。其中的那个『 $变量 』大致有两种取得的方式:
直接下达式:比如上面提到的,利用『 script.sh variable 』 的方式来直接给予 $1 这个变量的内容,这也是在 /etc/init.d 文件夹下大多数程序的设计方式。
互动式:透过 read 这个命令来让使用者输入变量的内容。