1.簡單的進(jìn)度條程序
創(chuàng)新互聯(lián)建站服務(wù)項目包括沙河網(wǎng)站建設(shè)、沙河網(wǎng)站制作、沙河網(wǎng)頁制作以及沙河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沙河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沙河省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
lable數(shù)組 相當(dāng)于進(jìn)度條前進(jìn)時,那個刷新的圓圈,進(jìn)度條前進(jìn)時顯示進(jìn)度,用count%顯示
程序運(yùn)行結(jié)果:
2.1-100之間的求和
1>用while實現(xiàn) 2>用for in 實現(xiàn)
程序運(yùn)行結(jié)果:
3>遞歸實現(xiàn)
digui
function add()
{
local val=$1
local sum=0
local add1=0
local add2=0
if [ $val -eq 1 ];then
echo 1
return
fi
add1=$val
let val--
add2=$(add $val)
let sum=$add1+$add2
echo $sum
}
function main()
{
read n
add $n
}
main
程序運(yùn)行結(jié)果:
4>利用seq 和bc 進(jìn)行求和
seq n :生成到這個數(shù)的所有數(shù)
|bc:利用|bc可以求和
例如:
所以1-100求和可以這樣寫:
其中tr表示替換,seq出來的所有數(shù)都有換行符,通過tr將'\n'替換為'+'。后面的sed 是將最后一個'+'號替換為'\n',再通過bc進(jìn)行求和。
3.求第n個斐波那契數(shù)
1>非遞歸實現(xiàn)
local 修飾的變量是局部變量
86 function fib()
87 {
88 local val=$1
89 while [ $val -eq 0 -o $val -eq 1 ]
90 do
91 echo 1
92 return
93 done
94 i=1
95 j=1
96 while [ $val -ge 2 ]
97 do
99 let fibn=$i+$j
100 i=$j
101 j=$fibn
102 ((val--))
103 done
105 }
106 function main()
107 {
108 read n
109 fib $n
110 echo $fibn
112 }
113 main
2>遞歸實現(xiàn)
思想:當(dāng)n=1或者n=0時,return 1。因為第n個斐波那契數(shù)是第n-1個和第n-2個數(shù)之和,所以對傳過來的n值先減1在遞歸保存值,再對n減1遞歸保存值,第n個就是兩個保存者之和。
115 function fib()
116 {
117 local val=$1
118 local fib1=0
119 local fib2=0
120 fibc=0
121 if [ $val -eq 0 -o $val -eq 1 ];then
122 echo 1
123 return
124 fi
125 let val--
126 fib1=$(fib $val)
127 let val--
128 fib2=$(fib $val)
129 let fibc=$fib1+$fib2
130 echo $fibc
131
132 }
133
134 function main()
135 {
136 read n
137 fib $n
138
139 }
140 main
程序運(yùn)行結(jié)果:
4.讀取另外一文件里的數(shù)值,求出最大值、最小值、和、平均值
1 #!/bin/bash
2
3 max=0
4 min=0
5 count=0
6 sum=0
7 read name
8 cat $name | while read line
9 do
10 [ $count -eq 0 ] &&{
11 echo 'count'
12 max=$line
13 min=$line
14
15 }
16 [ $max -lt $line ] &&{
17 max=$line
18 }
19
20 [ $min -gt $line ] &&{
21 min=$line
22 }
23 let count++
24 let sum=sum+line
25 echo "max=$max" "min=$min" "sum=$sum"
26 let avg=${sum}/${count}
27 echo "avg=$avg"
28 done
程序運(yùn)行結(jié)果:
cat $name 將其重定向到name文件中,然后通過行讀取參數(shù),進(jìn)行判斷和運(yùn)算。
標(biāo)題名稱:shell下的基礎(chǔ)程序題練習(xí)
文章出自:http://aaarwkj.com/article26/jeiocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站設(shè)計、小程序開發(fā)、Google、動態(tài)網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)