新聞中心

linux shell 腳本入門

作者: 時間:2007-04-24 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://2s4d.com/article/258223.htm

2.case

case :表達(dá)式可以用來匹配一個給定的字符串,而不是數(shù)字。
case ... in
...) do something here ;;
esac
讓我們看一個例子。 file命令可以辨別出一個給定文件的文件類型,比如:
file lf.gz
這將返回:
lf.gz: gzip compressed data, deflated, original filename,
last modified: Mon Aug 27 23:09:18 2001, os: Unix
我們利用這一點寫了一個叫做smartzip的腳本,該腳本可以自動解壓bzip2, gzip 和zip 類型的壓縮文件:
#!/bin/sh
ftype=`file $1`
case $ftype in
$1: Zip archive*)
unzip $1 ;;
$1: gzip compressed*)
gunzip $1 ;;
$1: bzip2 compressed*)
bunzip2 $1 ;;
*) echo File $1 can not be uncompressed with smartzip;;
esac
您可能注意到我們在這里使用了一個特殊的變量$1。該變量包含了傳遞給該程序的第一個參數(shù)值。
也就是說,當(dāng)我們運行:
smartzip articles.zip
$1 就是字符串 articles.zip

3. selsect
select 表達(dá)式是一種bash的擴展應(yīng)用,尤其擅長于交互式使用。用戶可以從一組不同的值中進行選擇。
select var in ... ; do
break
done
.... now $var can be used ....
下面是一個例子:
#!/bin/sh
echo What is your favourite OS?
select var in Linux Gnu Hurd Free BSD Other; do
break
done
echo You have selected $var
下面是該腳本運行的結(jié)果:
What is your favourite OS?
1) Linux
2) Gnu Hurd
3) Free BSD
4) Other
#? 1
You have selected Linux



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉