Shell指令碼編程之函數篇__PHP

來源:互聯網
上載者:User

首先讓我們來看看兩種函數的傳回值擷取方式:

#!/bin/bash#函數傳回值擷取測試。function fun_test(){    #在函數內部是不能有其他的任何一條列印語句。    echo 100}val=$(fun_test) echo $val

另外一種:

#!/bin/bash#函數傳回值擷取測試。function fun_test(){    return 100}fun_testval=$?echo $val
#!/bin/bash#在目前的目錄下面建立多個不存在的目錄。function create_dir(){      mkdir ./$1 > /dev/null}while [ $# -gt 0 ];do    a=`ls | grep "$1"`    if [ "$a" == "$1" ];then        echo "has exit!!!"        exit 0    else    create_dir $1    fi    shift 1done
#/bin/bash#遞迴求解1+...100sum=0function fun_test(){   if [ $1 -gt 0 ];then    set -x     let sum+=$1    set +x    fun_test $(($1-1))    else       echo  $sum    fi  }val=$(fun_test 100)echo $val
#!/bin/bash#列印指定目錄中的所有目錄檔案。function is_dir(){    local dir=$1    if [ -d ${dir} ];then    return 0    else    return 1        fi}function ls_dir(){    local dir=$1    arr=(`ls ${dir}`)#建立數組。    cd $dir    #跳轉目錄。    for((i=0;i<${#arr[@]};i++))    {        #遍曆數組,這裡有點重要。        if [ -d ${arr[i]} ];then        echo "this is a dir:" ${arr[i]}        else             echo "this is't a dir:" ${arr[i]}        fi    }    cd -    #回到主進程目錄。}proc=$(basename $0)proc=`basename $0` function usage(){    printf "%s%s\n" "usage:" "./${proc}dir"        #如果沒有傳進入參數,則將錯誤訊息返回告知使用者。}if [ $# -ne 1 ];then    usage    exit 1fils_dir $1  
#!/bin/bash#列印一個動態進度條,沒有實現顏色的改變了。arr=("|" "/" "-" "\\")function pro(){    local i=0    str=''    while [ $i -le 100 ]    do    let index=i%4    printf "[%s][%d%%][%c]\r"  "$str"  $i "${arr[index]}"    sleep 0.2    let i++    str=${str}#    done}pro
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.