1. 寫乙個指令碼,利用迴圈計算10的階乘
#!/bin/sh
factorial=1
for a in `seq 1 10`
dofactorial=`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:",要求使用者輸入數值,然
後列印出該數值,然後再次要求使用者輸入數值。直到使用者輸入
"end"停止。
#!/bin/sh
unset var
while [ "$var" != "end" ]
doecho -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`
doif [ `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 ]
doresult=`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
shell指令碼例項
1.批量建立10個系統賬號test01 test10,並隨機設定8位數密碼 bin bash for i in seq w 10 do useradd test i echo random madsum cut c 8 tee a passwd.txt stdin test i done 2.在目錄...
Shell 指令碼例項
指令碼內容如下 bin bash action 定義函式,進行操作指南 action 1 database mysql uroot p 1 en e show databases grep e schema v mkdir p mnt sqldump e database name sql case...
Shell 指令碼例項
1 使用for迴圈在 www目錄下批量建立10個html 檔案,名稱為隨機小寫10個字母加日期 bin bash if d opt www then mkdir p opt www ficd opt www for i in seq 10 do random echo random md5sum c...