亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

linux shell自定義函數(定義、返回值、變量作用域)介紹

2019-10-26 18:35:46
字體:
來源:轉載
供稿:網友

linux shell 可以用戶定義函數,然后在shell腳本中可以隨便調用。下面說說它的定義方法,以及調用需要注意那些事項。

一、定義shell函數(define function)

語法:

[ function ] funname [()]

{

action;

[return int;]

}

說明:

1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數。 2、參數返回,可以顯示加:return 返回,如果不加,將以最后一條命令運行結果,作為返回值。 return后跟數值n(0-255

實例(testfun1.sh):

#!/bin/sh fSum 3 2; function fSum() {   echo $1,$2;   return $(($1+$2)); } fSum 5 7; total=$(fSum 3 2); echo $total,$?;sh testfun1.shtestfun1.sh: line 3: fSum: command not found5,73,215

從上面這個例子我們可以得到幾點結論:

1、必須在調用函數地方之前,聲明函數,shell腳本是逐行運行。不會像其它語言一樣先預編譯。一次必須在使用函數前先聲明函數。 2、total=$(fSum 3 2); 通過這種調用方法,我們清楚知道,在shell 中 單括號里面,可以是:命令語句。 因此,我們可以將shell中函數,看作是定義一個新的命令,它是命令,因此 各個輸入參數直接用 空格分隔。 一次,命令里面獲得參數方法可以通過:$0…$n得到。 $0代表函數本身。 3、函數返回值,只能通過$? 系統變量獲得,直接通過=,獲得是空值。其實,我們按照上面一條理解,知道函數是一個命令,在shell獲得命令返回值,都需要通過$?獲得。

二、函數作用域,變量作用范圍

先我們看一個實例(testfun2.sh ):

#!/bin/shecho $(uname);declare num=1000;uname(){  echo "test!";  ((num++));  return 100;}testvar(){  local num=10;  ((num++));  echo $num;}uname;echo $?echo $num;testvar;echo $num;sh testfun2.shLinuxtest!1001001111001

我們一起來分析下上面這個實例,可以得到如下結論:

1、定義函數可以與系統命令相同,說明shell搜索命令時候,首先會在當前的shell文件定義好的地方查找,找到直接執行。 2、需要獲得函數值:通過$?獲得 3、如果需要傳出其它類型函數值,可以在函數調用之前,定義變量(這個就是全局變量)。在函數內部就可以直接修改,然后在執行函數就可以讀出修改過的值。 4、如果需要定義自己變量,可以在函數中定義:local 變量=值 ,這時變量就是內部變量,它的修改,不會影響函數外部相同變量的值 。

這些,是我在工作中,對linux ,shell 函數使用一些經驗總結,有沒有提到地方,歡迎交流!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本国产高清不卡| 国产日韩欧美91| 国产精品女主播视频| 国产精品久久久久久久久久99| 97av在线视频| 精品视频在线播放色网色视频| 欧美日韩视频免费播放| 日本精品视频在线播放| 日本19禁啪啪免费观看www| 国产精品白嫩初高中害羞小美女| 国模精品一区二区三区色天香| 国产精品电影久久久久电影网| 一本大道香蕉久在线播放29| 亚洲伊人成综合成人网| 68精品国产免费久久久久久婷婷| 欧美日韩国产一中文字不卡| 国产日本欧美一区| 精品国产乱码久久久久酒店| 久久视频国产精品免费视频在线| 国产精品久久久久久久一区探花| 成人黄色在线免费| 欧美成人精品在线| 亚洲一区二区自拍| 欧美性猛交xxxx黑人| 亚洲国产精品一区二区久| 91欧美激情另类亚洲| 亚洲毛片一区二区| 亚洲成人激情小说| 久久久久久国产精品三级玉女聊斋| 久久精品国产一区二区电影| 色狠狠av一区二区三区香蕉蜜桃| 成人免费视频网| 欧美日本高清视频| 成人福利在线观看| 国产91久久婷婷一区二区| 中文一区二区视频| 日韩精品有码在线观看| 亚洲一区二区黄| 成人欧美一区二区三区黑人| 久久亚洲精品毛片| 日韩欧美精品网站| 国产精品丝袜高跟| 国产亚洲欧美日韩一区二区| 中文日韩在线观看| 丝袜亚洲欧美日韩综合| 亚洲欧美中文在线视频| 亚洲欧美日韩中文在线制服| 国产精国产精品| 国产精品久久999| 色婷婷**av毛片一区| 高清在线视频日韩欧美| 亚洲四色影视在线观看| 欧美伦理91i| 午夜精品久久久久久久男人的天堂| 91精品国产91久久久久久不卡| 亚洲第一页自拍| 亚洲欧美日韩视频一区| 亚洲xxxx做受欧美| 丝袜亚洲另类欧美重口| 91精品久久久久久久久久久久久| 国产精品高清免费在线观看| 国产99视频在线观看| 欧美日韩亚洲精品内裤| 日韩欧美在线观看视频| 亚洲美女又黄又爽在线观看| 亚洲国产天堂久久国产91| 国产精品91一区| 日韩视频免费观看| 国产精品www色诱视频| 中文字幕国产精品久久| 亚洲精品乱码久久久久久金桔影视| 国产成人综合av| 欧美成人小视频| 久久在线精品视频| 日韩在线视频中文字幕| 国产成人av网| 中文字幕免费精品一区| 日韩电影大全免费观看2023年上| 国产精品美女久久久久av超清| 久久91精品国产91久久跳| 国产精品一区二区久久精品| 最近免费中文字幕视频2019| 九九久久久久久久久激情| 国产一区二区三区中文| 日韩美女av在线免费观看| 日韩av电影中文字幕| 欧美激情亚洲视频| 国产精品视频最多的网站| 欧美激情18p| 午夜精品久久久久久久久久久久| 国产99视频精品免视看7| 亚洲国产高清福利视频| 欧美日在线观看| 欧美在线国产精品| 欧美一区二区三区精品电影| 国产亚洲日本欧美韩国| 国产精品色悠悠| 欧美精品日韩三级| 久久久999精品视频| 亚洲精品久久7777777| 伊人激情综合网| 精品久久久久久久久久ntr影视| 91精品视频在线| 国产xxx69麻豆国语对白| 欧美在线视频一区二区| 日本19禁啪啪免费观看www| 一区二区三区视频免费| 欧美一区第一页| 自拍偷拍亚洲精品| 亚洲第一网站男人都懂| 亚洲人成亚洲人成在线观看| 5278欧美一区二区三区| 日韩av片免费在线观看| 国产精品jizz在线观看麻豆| 久久久久久午夜| 欧美性生交xxxxx久久久| 亚洲国产精品成人精品| 国产综合久久久久| 久久中文字幕视频| 日韩电影视频免费| 亚洲国产精品久久精品怡红院| 国产精品久久久久久久久久久久久| 成人免费福利在线| 中文字幕亚洲第一| 91国内精品久久| 精品在线欧美视频| 九色精品免费永久在线| 国产精品96久久久久久又黄又硬| 国产福利精品视频| 高清日韩电视剧大全免费播放在线观看| 奇米一区二区三区四区久久| x99av成人免费| 91国内在线视频| 国产精品白嫩美女在线观看| 美女啪啪无遮挡免费久久网站| 精品国产一区二区三区久久久狼| 亚洲欧美中文在线视频| 国产精品高潮在线| 人人做人人澡人人爽欧美| 精品亚洲一区二区三区在线观看| 亚洲一区二区三| 亚洲3p在线观看| 欧美一级片一区| 欧美成aaa人片在线观看蜜臀| 国产美女91呻吟求| 欧美精品videos性欧美| www.国产一区| 久久免费少妇高潮久久精品99| 国产一区二区日韩精品欧美精品| 日韩高清中文字幕| 久久色精品视频| 色与欲影视天天看综合网| 欧美精品中文字幕一区| 亚洲v日韩v综合v精品v| 日本精品视频在线播放| 亚洲乱码国产乱码精品精天堂| 成人免费网站在线看| 日韩成人高清在线| 国产精自产拍久久久久久蜜| 亚洲另类激情图| 亚洲伊人一本大道中文字幕| 成人性教育视频在线观看| 成人免费视频a| 国产精品永久免费|