在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Linux/ 《linux程序設(shè)計4th》shell例程執(zhí)行流程

《linux程序設(shè)計4th》shell例程執(zhí)行流程

請問下下面shell腳本的流程:
1、函數(shù)內(nèi)為何要用$*不用$1?
2、函數(shù)內(nèi)的while true是怎么跳出的呢?
3、case的前兩個return,返回的是函數(shù)返回值嗎?
4、請解釋下執(zhí)行的流程,沒看懂。。。

 10 yes_or_no(){
 11     echo "Is your name $*"
 12     while true
 13     do
 14         echo  "Enter yes or no"
 15         read x
 16         case $x in
 17             y | yes)    return 0;;
 18             n | no )    return 1;;
 19             *      )    echo "Enter yes or no"
 20         esac
 21     done
 22 }
 23 
 24 echo "Original parameters are $*"
 25 if yes_or_no "$1"
 26 then
 27     echo "Hi $1, nice name"
 28 else
 29     echo "Never mind"
 30 fi
 31 exit 0
回答
編輯回答
陪妳哭

1.函數(shù)里面的是傳給函數(shù)的參數(shù),即調(diào)用函數(shù)時后面跟的那一堆東西,對于這個腳本,函數(shù)里面的$* 即為25行的$1
2.只有輸入yes/no 的時候才會返回,才跳出函數(shù)
3.是函數(shù)執(zhí)行完后的狀態(tài)值,0表示正確,非0表示錯誤。

2017年3月17日 19:27