Shell指令碼編程篇

來源:互聯網
上載者:User

標籤:shell

#!/bin/bash#斐波那契數列#不要用遞迴,深度大於30就老火了。function fun_test(){     if [ $1 -lt 3 ];then    echo 1    return      fi     sum1=1     sum2=1     let count=$1-2     sum=0     while [ $count -gt 0 ];do    let count--    let sum=sum1+sum2    let sum1=sum2    let sum2=sum     done     echo $sum}val=$(fun_test $1)echo $val#!/bin/bash求輸入的一串數字中的最大數,最小數以及平均數(保留2位小數)Maxsum=$1Minsum=$1sum=$1count=$#shift 1while [ $# -gt 0 ];do    if [ $Maxsum -lt $1 ];then    let Maxsum=$1    fi    if [ $Minsum -gt $1 ];then    let Minsum=$1    fi    let sum+=$1    shiftdoneecho "Max::" "$Maxsum"echo "Min::" "$Minsum"val=`echo "scale=2;$sum/$count" | bc`echo "pingjun::" "$val"#!/bin/bash#遞迴目前的目錄下面所有目錄檔案。function fun_test(){    ls $1 | while read line    do        DIR="$1/$line"        if [ -d $DIR ];then        echo "dir: " "$DIR"                fi    [ -d $DIR ] &&    {        fun_test $DIR    }    done}fun_test .//最好使用單引號,這更加符合標準,然後加上-E選項或者egrep。.匹配任意一個字元,只要在行裡麵包含這個模式就會按該行展示。[]匹配括弧中的任意一個字元,[abc]就只能匹配a或者b或者c一個字元。[-]在括弧內表示範圍,echo "test" | grep -E ‘tes[a-z]‘[^]在括弧裡面的取相反的結果。[[:alpha:]]匹配一個字母。?匹配前面的單元一次或者零次。+匹配它前面的單元一次或者多次。*緊跟它前面的單元匹配零次或者多次。{n}在-E選項中不需要使用\,表示前面這個單元重複n次,包括前面這個單元。{n,m}重複前面單元n到m次,也包括前面這個單元。{n,}重複前面這個單元至少n次。{,n}重複前面這個單元最多n次。上面這四個Regex都是閉包的。^匹配行首的位置。$匹配行未的位置。<匹配單詞開始的地方。>匹配單詞結束的地方。<>匹配一個單詞。\b匹配單詞開頭或者結束的位置。\B匹配非單詞開始或者結束的位置。^$匹配空行的位置。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Shell指令碼編程篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.