好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > shell自定義函數的6個特點總結

shell自定義函數的6個特點總結

熱門標簽:佛山高德地圖標注中心 excel地址地圖標注 杭州機器人外呼系統 地圖標注超出范圍怎么辦 東莞電銷機器人價格一覽表 百度地圖的地圖標注 陜西電銷卡外呼系統怎么安裝 旅游地圖標注大全 百度地圖標注圖標更換

最近系統的學習了一下shell的函數,總體感覺根其他語言的函數差不多,不過它也有自身的特點

一,調用函數必須在定義函數的后,不然會報錯的

復制代碼 代碼如下:

fun

fun (){
 echo "aaaaaa"
}

fun

返回結果如下:

復制代碼 代碼如下:

[root@krlcgcms01 mytest]# sh fun.sh
 fun.sh: line 1: fun: command not found       //第一次調用fun是報錯的,fun沒有定義
 aaaaaa                                       //第二次調用fum顯示的結果

如果是php或者是javascript的話,就不會出現這樣的問題

二,向shell函數傳遞參數很有特點

復制代碼 代碼如下:

fun2 (){
 echo $0                      //$0本身文件名
 if [ $1 ]                    //參數為什么都是從$1開始呢,$0是本身文件名
 then
 echo "param1 is "$1
 else
 echo "param1 is null"
 fi
 if [ $2 ]
 then
 echo "param2 is "$2
 fi
}

fun2 aaa bbb                 //向fun2傳2個參數
fun2 ccc                     //向fun2傳1個參數
fun2                         //不傳參數

返回結果如下:

復制代碼 代碼如下:

[root@krlcgcms01 mytest]# sh fun2.sh
pa.sh                     //第一次調用fun2,顯示$0的值
param1 is aaa
param2 is bbb
pa.sh                     //第二次調用fun2,顯示$0的值
param1 is ccc
pa.sh                     //第三次調用fun2,顯示$0的值
param1 is null

這樣的傳參方式,很特別吧。

三,引用舉例

復制代碼 代碼如下:

reference ()
 {
 pa=\$"$1"                      //$1顯示的是param
 echo $pa                       //顯示的是$param
 x=`eval "expr $pa "`           //x為test
 echo $1=$x                     //param=test
 local aaa=$x                   //定義局部變量
 bbb=$x                         //默認全局變量
 eval "$1='test been modified'"
 return 1   //最大返回整數257
 }

param="test"
echo $param " is test"

reference param
return_value=$?                  //返回值存放在$?里面
echo "return value is " $return_value
echo $param " is not test"

return_value=$?
echo "return value is " $return_value

echo "aaa = "$aaa      //局部變量外面不能調用
echo "bbb = "$bbb

返回結果如下:

復制代碼 代碼如下:

[zhangy@localhost zhangy]$ sh re.sh
test  is test
$param
param=test
return value is  1
test been modified  is not test
return value is  0
aaa =
bbb = test

從上面的這個例子,我總結以下幾點:

1,傳引用也挺特別的,function  max($num_a,$num_b){}如果方法體中$num_a改變了的話,調用的變量也會改變。shell引用的思想差不多,但是形勢不一樣。
2,shell函數的返回值,只能是整形,并且在0-257之間。
3,在方法定義的變量,如果沒有做特別聲明,一般都是局部變量,而shell正好相反,局部變量要特別聲明。
4,調用方法和取得返回值之間,不能有任何操作,不然取不到return的值。

結合前二個例子顯示的特點,差不多有6個特點,肯定還有其他的一些特性,待大家補充。

您可能感興趣的文章:
  • linux shell自定義函數(定義、返回值、變量作用域)介紹
  • shell自定義函數及參數調用解析

標簽:朝陽 南充 通遼 西藏 青島 隨州 雅安 延邊

巨人網絡通訊聲明:本文標題《shell自定義函數的6個特點總結》,本文關鍵詞  shell,自定義,函數,的,6個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell自定義函數的6個特點總結》相關的同類信息!
  • 本頁收集關于shell自定義函數的6個特點總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 诛仙黄改版和陆雪琪的背景故事| 小白花他不装了!| 99色图| 男警察受呻吟双腿大开H漫画微博| 強暴強姦犯された人妻电影| 丰满浓毛的大隂户视频| 人人妻人人爽人人做夜欢视频久色| 亚洲精品无码一级毛片朝鲜| chinese国产videoxx实拍| 国产AV精品一区二区| 欧美黑人巨大最猛性xxxxx| 被老师各种姿势cao到哭视频| 日本高清在线播放| 与长辈禁忌文h止渴| 亚洲中字慕日产2021| 中文字幕乱码亚洲中文在线| 国产午夜精品一级毛片a4纸模特| 一家三女被通吃| 《明明说过要用TT了》| 午夜毛片免费看| 污污的小黄文| 伊人色合天天久久综合网| 日本黄网站高清色大全| 美女被狂揉下部羞羞| 天堂精品| a级免费网站| 欧美一级性| 中日韩精品A片日本有码| 熟女???码免费播放www| 91最新在线播放| 德国重口ggg女| 欧美日韩Av无码精品色情60后| 抽搐一进一出gif免费动态| 国产淫语对白| 国产精品爽爽久久久天天看| 国产老头与老太hd| 偷窥隔壁邻居好刺激| xxxenxxx18中国| 男女一起嗟嗟嗟很痛原声无马| 桃密成熟时| 好涨水快流出来了好大|