當(dāng)我們編寫的 Shell 腳本只接收一個(gè)命令行選項(xiàng)時(shí),使用 case 語(yǔ)句對(duì)其進(jìn)行處理是比較方便的。
下面是一個(gè)簡(jiǎn)單的使用示例:
#! /bin/bash
# 將第一個(gè)命令行參數(shù)賦值給變量 opt
opt=$1
# 將第二個(gè)命令行參數(shù)賦值給變量 filename
filename=$2
# 定義函數(shù) checkfile
checkfile() {
# 如果沒(méi)有指定文件名,則顯示缺少文件名,并退出腳本的運(yùn)行
if [ -z $filename ]
then
echo "File name missing"
exit 1
elif [ ! -f $filename ]
then
echo "The file $filename doesn't exist!"
exit 2
fi
}
case $opt in
-e|-E)
checkfile
echo "Editing $filename file..."
;;
-p|-P)
checkfile
echo "Displaying $filename file..."
;;
*)
echo "Bad argument!"
echo "Usage: `basename $0` -e|-p filename"
echo " -e filename : Edit file."
echo " -f filename : Display file."
;;
esac
調(diào)用上述腳本的運(yùn)行效果:

顯示效果
本文參考自 《Linux Shell命令行及腳本編程實(shí)例詳解 》