最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell自定義函數(shù)的6個(gè)特點(diǎn)總結(jié)

 更新時(shí)間:2014年07月29日 09:21:59   投稿:junjie  
這篇文章主要介紹了shell自定義函數(shù)的6個(gè)特點(diǎn)總結(jié),也是使用shell自定義函數(shù)的一些注意事項(xiàng)總結(jié),以及小技巧介紹,需要的朋友可以參考下

最近系統(tǒng)的學(xué)習(xí)了一下shell的函數(shù),總體感覺根其他語言的函數(shù)差不多,不過它也有自身的特點(diǎn)

一,調(diào)用函數(shù)必須在定義函數(shù)的后,不然會(huì)報(bào)錯(cuò)的

復(fù)制代碼 代碼如下:

fun

fun (){
 echo "aaaaaa"
}

fun

返回結(jié)果如下:

復(fù)制代碼 代碼如下:

[root@krlcgcms01 mytest]# sh fun.sh
 fun.sh: line 1: fun: command not found       //第一次調(diào)用fun是報(bào)錯(cuò)的,fun沒有定義
 aaaaaa                                       //第二次調(diào)用fum顯示的結(jié)果

如果是php或者是javascript的話,就不會(huì)出現(xiàn)這樣的問題

二,向shell函數(shù)傳遞參數(shù)很有特點(diǎn)

復(fù)制代碼 代碼如下:

fun2 (){
 echo $0                      //$0本身文件名
 if [ $1 ]                    //參數(shù)為什么都是從$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個(gè)參數(shù)
fun2 ccc                     //向fun2傳1個(gè)參數(shù)
fun2                         //不傳參數(shù)

返回結(jié)果如下:

復(fù)制代碼 代碼如下:

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

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

三,引用舉例

復(fù)制代碼 代碼如下:

reference ()
 {
 pa=\$"$1"                      //$1顯示的是param
 echo $pa                       //顯示的是$param
 x=`eval "expr $pa "`           //x為test
 echo $1=$x                     //param=test
 local aaa=$x                   //定義局部變量
 bbb=$x                         //默認(rèn)全局變量
 eval "$1='test been modified'"
 return 1   //最大返回整數(shù)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      //局部變量外面不能調(diào)用
echo "bbb = "$bbb

返回結(jié)果如下:

復(fù)制代碼 代碼如下:

[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

從上面的這個(gè)例子,我總結(jié)以下幾點(diǎn):

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

結(jié)合前二個(gè)例子顯示的特點(diǎn),差不多有6個(gè)特點(diǎn),肯定還有其他的一些特性,待大家補(bǔ)充。

相關(guān)文章

  • shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本分享

    shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本分享

    shell監(jiān)控linux系統(tǒng)進(jìn)程創(chuàng)建腳本,大家參考使用吧
    2013-12-12
  • Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享

    Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享

    這篇文章主要介紹了Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享,本文同時(shí)提供了多種語言的實(shí)現(xiàn)方法,如awk、python、bash、C語言等,需要的朋友可以參考下
    2014-12-12
  • Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例

    Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例

    這篇文章主要介紹了Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • linux下命令行操作快捷鍵及技巧(分享)

    linux下命令行操作快捷鍵及技巧(分享)

    下面小編就為大家?guī)硪黄猯inux下命令行操作快捷鍵及技巧(分享)。小編覺的挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧

    Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧

    今天小編就為大家分享一篇關(guān)于Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 詳解 linux mysqldump 導(dǎo)出數(shù)據(jù)庫、數(shù)據(jù)、表結(jié)構(gòu)

    詳解 linux mysqldump 導(dǎo)出數(shù)據(jù)庫、數(shù)據(jù)、表結(jié)構(gòu)

    這篇文章主要介紹了詳解 linux mysqldump 導(dǎo)出數(shù)據(jù)庫、數(shù)據(jù)、表結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 淺析Linux之bash反彈shell原理

    淺析Linux之bash反彈shell原理

    這篇文章主要介紹了淺析Linux之bash反彈shell原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Linux 下vim使用教程

    Linux 下vim使用教程

    Vim是從 vi 發(fā)展出來的一個(gè)文本編輯器。這篇文章給大家介紹Linux 下vim使用教程,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • Linux文件操作命令詳解與實(shí)戰(zhàn)

    Linux文件操作命令詳解與實(shí)戰(zhàn)

    Linux 是一個(gè)文件為核心的操作系統(tǒng),文件的操作貫穿了系統(tǒng)管理和開發(fā)的方方面面,從創(chuàng)建、修改、查找文件到權(quán)限管理和壓縮操作,Linux 提供了豐富的命令支持,本文將深入解析 Linux 文件操作的常用命令,幫助讀者全面掌握其用法及應(yīng)用場景,需要的朋友可以參考下
    2024-12-12
  • shell腳本4種執(zhí)行方式

    shell腳本4種執(zhí)行方式

    Linux中shell腳本的執(zhí)行通常有4種方式,分別為工作目錄執(zhí)行,絕對(duì)路徑執(zhí)行,sh執(zhí)行,shell環(huán)境執(zhí)行。這篇文章主要介紹了shell腳本4種執(zhí)行方式 ,需要的朋友可以參考下
    2019-05-05

最新評(píng)論

慈溪市| 云安县| 拜城县| 裕民县| 永丰县| 吴桥县| 利津县| 定西市| 土默特左旗| 思茅市| 怀柔区| 镇宁| 开封市| 鲁甸县| 麻阳| 莱西市| 章丘市| 张家港市| 正阳县| 新乡市| 海盐县| 安新县| 喀喇沁旗| 岳普湖县| 苏尼特左旗| 吉水县| 武安市| 元阳县| 仁化县| 芦溪县| 满洲里市| 武定县| 普兰店市| 米脂县| 安徽省| 平顺县| 肥城市| 兰坪| 兴义市| 革吉县| 满洲里市|