hello-2.sh
那个小程序,就是用这样的方式来撰写的啰。
好,那么万一我有多个既定的变量内容,
例如
hello-2.sh
当中,我所需要的变量就是
"hello"
及空字符串两个,
那么我只要针对这两个变量
来设定状况就好了,对吧?那么可以使用什么方式来设计呢?呵呵~就用
case ... in .... esac
吧~,他
的语法如下:
case $
量名
in
<==
关键词为
case
变数
前有
"
第一
个变
"
)
<==
个变
容½
括起
关键词则为
小括
)
程序段
;;
<==
个类别½
尾使用
两个连续
的分
号来处
理!
"
第二
个变
"
)
程序段
;;
*
)
<==
最后一
个变
容都
*
代表所有其他值
不包含第一
个变
容与第二
个变
容的其他程序
行段
exit 1
;;
esac
<==
case
½
尾!『反
过来写
』思考一下!
要注意的是,这个语法以
case (
实际案例之意
)
为开头,½尾自然就是½
case
的英文反过来写!就
成为
esac
啰!
不会很难背啦!另外,每一个变量内容的程序段最后都需要两个分号
(;;)
来代表该
程序段落的½束,这挺重要的喔!
至于为何需要有
*
这个变量内容在最后呢?这是因为,如果用户
不是输入变量内容一或二时,
我们可以告知用户相关的信息啊!废话少说,我们拿
hello-2.sh
的案
例来修改一下,他应该会变成这样喔:
[dmtsai@study bin]$
vim hello
-
3.sh
#!/bin/bash
# Program:
#
Show "Hello" from $1.... by using case .... esac
# History:
# 2015/07/16
VBi
rd
First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
case ${1} in
"hello")
echo "Hello, how are you ."
;;
"")
echo "You MUST input parameters, ex> {${0} someword}"
;;
*)
#
就相
于通配符,
0~
无穷
任意字符之意!
echo "Usage ${0} {hello}"
;;