**:
1. 寫乙個指令碼,利用迴圈計算10的階乘
#!/bin/sh
factorial=1
for a in `seq 1 10`
do factorial=`expr $factorial \* $a`
done
echo "10! = $factorial"
注:上面有一行,for a in `seq 1 10`,其中seq 1 10 , 即列出現1到10之間所有的數字,這一行也可改為:for a in "1 2 3 4 5 6 7 8 9 10"
2. 寫乙個指令碼,執行後,列印一行提示「please input a number:",要求使用者輸入數值,然後列印出該數值,然後再次要求使用者輸入數值。直到使用者輸入
#!/bin/sh
unset var
while [ "$var" != "end" ]
do echo -n "please input a number: "
read var
if [ "$var" = "end" ]
then
break
fiecho "var is $var"
done
3. 寫乙個指令碼,利用迴圈和continue關鍵字,計算100以內能被3整除的數之和
#!/bin/sh
sum=0
for a in `seq 1 100`
do if [ `expr $a % 3` -ne 0 ]
then
continue
fiecho $a
sum=`expr $sum + $a`
done
echo "sum = $sum"
4.乙個函式,利用shift計算所有引數乘積,假設引數均為整數(
特殊變數$# 表示包含引數的個數)
#! /bin/sh
result=1
while [ $# -gt 0 ]
do result=`expr $result \* $1`
shift
done
echo $result
5.寫乙個指令碼,可以根據引數檔名,以正確的引數呼叫tar來解壓縮tar.gz或tar.bz2檔案。
#!/bin/sh
case $ in
bz2)
tar jxvf $1
;;gz)
tar zxvf $1
;;*)
echo "wrong file type"
esac
6.寫乙個指令碼以方便使用者查詢rpm的相關資訊。這個指令碼首先提示使用者選擇查詢依據,比如檔名,包名,全部等。然後提示使用者選擇查詢資訊,比如包名,包裡所包含的所有檔案,
包的資訊等。然後詢問是否繼續查詢,是則迴圈剛才的過
程,否則退出。
#!/bin/sh
rpm=/bin/rpm
option="-q"
while true
do echo "what to query?"
select var in "all" "file" "package name"
docase $var in
all)
option=$option"a"
break
;;file)
echo -n "please input file name: "
option=$option"f"
read argument
break
;;package\ name)
echo -n "please input package name: "
read argument
break
;;*)
echo "please choose between 1-3"
;;esac
done
echo "what do you want to know?"
select var in "location" "info" "package name"
docase $var in
location)
option=$option"l"
break
;;info)
option=$option"i"
break
;;package\ name)
break
;;*)
echo "please choose between 1-3"
;;esac
done
$ $option $argument
echo "continue? [yes/no]"
read answer
if [ answer = "no" ]
then
break
fidone
Linux shell 指令碼例項
1.寫乙個指令碼,利用迴圈計算10的階乘 2.寫乙個指令碼,執行後,列印一行提示 please input a number 要求使用者輸入數值,然後列印出該數值,然後再次要求使用者輸入數值。直到使用者輸入 end 停止 執行指令碼方法 nuhup sh route.sh 注意前面要用上nohup,...
Linux Shell指令碼學習(一)
最近花了一周的時間快速的學習了一下shell指令碼,看的書是 linux shell指令碼程式設計 第三版 僅僅整理了一些筆記,不做技術交流也不算分享,只是作為自己的學習之路的記錄,務戀。shell one 開始學習linux shell指令碼,首日了解了linux命令列 linux shell終端...
linux shell指令碼攻略 一
變數數 算 重定向陣列 別名終端資訊 日期相關 除錯指令碼 函式和引數 管道命令 字段分隔符和迭代器 迴圈算術比較 檔案系統相關測試 字串比較 日期內容 格式星期 a 例如 sat a 例如 saturday 月 b 例如nov b 例如 november 日 d 例如31 固定格式日期 d 例如 ...