婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)

linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)

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

一、定義shell函數(shù)(define function)

語法:

[ function ] funname [()]
{
action;
[return int;]
}

說明:

1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數(shù)。
2、參數(shù)返回,可以顯示加:return 返回,如果不加,將以最后一條命令運行結(jié)果,作為返回值。 return后跟數(shù)值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.sh 
testfun1.sh: line 3: fSum: command not found 
5,7 
3,2

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

1、必須在調(diào)用函數(shù)地方之前,聲明函數(shù),shell腳本是逐行運行。不會像其它語言一樣先預(yù)編譯。一次必須在使用函數(shù)前先聲明函數(shù)。

2、total=$(fSum 3 2); 通過這種調(diào)用方法,我們清楚知道,在shell 中 單括號里面,可以是:命令語句。 因此,我們可以將shell中函數(shù),看作是定義一個新的命令,它是命令,因此 各個輸入?yún)?shù)直接用 空格分隔。 一次,命令里面獲得參數(shù)方法可以通過:$0…$n得到。 $0代表函數(shù)本身。

3、函數(shù)返回值,只能通過$? 系統(tǒng)變量獲得,直接通過=,獲得是空值。其實,我們按照上面一條理解,知道函數(shù)是一個命令,在shell獲得命令返回值,都需要通過$?獲得。

二、函數(shù)作用域,變量作用范圍

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

#!/bin/sh 
 
echo $(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.sh 
Linux 
test! 
100 
1001 
11 
1001

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

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

這些,是我在工作中,對linux ,shell 函數(shù)使用一些經(jīng)驗總結(jié),有沒有提到地方,歡迎交流!

以下是其它網(wǎng)友的補充:

本教程目前為止所有腳本都是從頭到尾執(zhí)行。這樣做很好,但你也許已經(jīng)注意到有些腳本段間互相重復(fù)。

shell允許將一組命令集或語句形成一個可用塊,這些塊稱為shell函數(shù)。

shell中函數(shù)的定義格式如下:

函數(shù)名(){
command1
command2
...
commandN
[ return value ]
}

如果愿意,可在函數(shù)名前加上關(guān)鍵字function,這取決于使用者。
function 函數(shù)名(){
command1
command2
...
commandN
[ return value ]
}

函數(shù)返回值,可以顯示增加return語句;如果不加,則將最后一條命令運行結(jié)果作為返回值(一般為0,如果執(zhí)行失敗則返回錯誤代碼)。 return后跟數(shù)值(0-255)。

函數(shù)可以放在同一個文件中作為一段代碼,也可以放在只包含函數(shù)的單獨文件中。函數(shù)不必包含很多語句或命令,甚至可以只包含一個echo語句,這取決于使用者。

下面的例子定義了一個函數(shù)并進行調(diào)用:

#!/bin/bash
demoFun(){
echo "This is your first shell function!"
}
echo "Function begin..."
hello
echo "Function end!"輸出:
Function begin...
This is your first shell function!
Function end!

下面定義一個帶有return語句的函數(shù):

#!/bin/bash
funWithReturn(){
echo "The function is to get the sum of two numbers..."
echo -n "Input first number: "
read aNum
echo -n "Input another number: "
read anotherNum
echo "The two numbers are $aNum and $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "The sum of two numbers is $? !"輸出類似下面:
The function is to get the sum of two numbers...
Input first number: 25
Input another number: 50
The two numbers are 25 and 50 !
The sum of two numbers is 75 !

函數(shù)返回值在調(diào)用該函數(shù)后通過 $? 來獲得。

注意:所有函數(shù)在使用前必須定義。這意味著必須將函數(shù)放在腳本開始部分,直至shell解釋器首次發(fā)現(xiàn)它時,才可以使用。調(diào)用函數(shù)僅使用其函數(shù)名即可。

您可能感興趣的文章:
  • linux shell腳本對未定義變量的判斷以及if的用法詳解
  • 淺談linux中shell變量$#,$@,$0,$1,$2的含義解釋
  • 判斷Linux Shell環(huán)境變量是否存在
  • Linux bash Shell中的變量類型詳解
  • Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
  • Linux Shell腳本系列教程(三):變量和環(huán)境變量
  • python文件讀寫操作與linux shell變量命令交互執(zhí)行的方法
  • linux shell awk獲得外部變量(變量傳值)簡介
  • linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
  • linux中shell的變量的數(shù)值計算

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

巨人網(wǎng)絡(luò)通訊聲明:本文標題《linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)》,本文關(guān)鍵詞  linux,shell,自定義,函數(shù),方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux shell 自定義函數(shù)方法(定義、返回值、變量作用域)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产永久精品大片wwwapp | 91福利社在线观看| 国产一区二区三区综合| 免费欧美日韩国产三级电影| 亚洲一区在线观看免费观看电影高清| 国产精品全国免费观看高清| 中文字幕日本乱码精品影院| 亚洲天堂免费看| 尤物在线观看一区| 亚洲bt欧美bt精品777| 首页亚洲欧美制服丝腿| 蜜臀av一区二区在线免费观看| 日韩电影在线观看网站| 日本vs亚洲vs韩国一区三区 | 欧美日韩国产成人在线91| 欧美影院精品一区| 在线成人av网站| 日韩欧美国产小视频| 久久久一区二区三区捆绑**| 国产精品拍天天在线| 亚洲综合偷拍欧美一区色| 欧美a级一区二区| 国内不卡的二区三区中文字幕| 国产呦萝稀缺另类资源| 成人激情动漫在线观看| 欧美曰成人黄网| 91精品国产色综合久久ai换脸| 精品少妇一区二区| 国产精品白丝在线| 一区二区三区四区乱视频| 亚洲自拍偷拍av| 国产在线精品不卡| 欧洲国产伦久久久久久久| 精品处破学生在线二十三| 亚洲欧美视频在线观看| 免费看欧美美女黄的网站| 高清国产一区二区三区| 欧美乱妇20p| 久久精品亚洲麻豆av一区二区| 亚洲人成影院在线观看| 久久精品免费观看| 色综合久久久久网| 亚洲精品一区二区三区99 | 欧美日韩视频在线第一区| 精品国产91洋老外米糕| 亚洲免费av在线| 国产一区二区在线看| 色天天综合色天天久久| 国产亚洲欧美日韩日本| 日韩和的一区二区| 欧洲一区在线电影| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲福利国产精品| 色综合中文综合网| 国产91富婆露脸刺激对白| 91精品蜜臀在线一区尤物| 国产精品久久久久久亚洲伦| 久久精品国产久精国产| 欧美做爰猛烈大尺度电影无法无天| 久久久另类综合| 另类的小说在线视频另类成人小视频在线| 99久久99久久精品国产片果冻| 日韩欧美一级片| 图片区小说区区亚洲影院| 91亚洲精品乱码久久久久久蜜桃| 国产日本欧洲亚洲| 国产一区二区看久久| 精品剧情v国产在线观看在线| 亚洲一区影音先锋| 在线观看亚洲a| 一区二区久久久久| 欧美三级资源在线| 天涯成人国产亚洲精品一区av| 在线观看亚洲专区| 亚洲成人在线免费| 3atv一区二区三区| 日本在线不卡视频| 欧美一区二区三区公司| 免费成人结看片| 日韩精品最新网址| 国产精品一区二区久激情瑜伽| 久久久久久久久伊人| 国产精品69毛片高清亚洲| 亚洲国产精品成人综合色在线婷婷| 国产99精品国产| 国产精品麻豆99久久久久久| av亚洲精华国产精华| 亚洲视频精选在线| 欧美亚洲综合色| 麻豆高清免费国产一区| 久久丝袜美腿综合| 99久久精品久久久久久清纯| 亚洲少妇中出一区| 欧美卡1卡2卡| 国内精品国产成人| 亚洲另类中文字| 欧美女孩性生活视频| 紧缚捆绑精品一区二区| 国产精品久久久久久久久搜平片 | 日韩欧美在线影院| 国产精品99久| 亚洲在线成人精品| 精品国产凹凸成av人网站| 成人激情午夜影院| 亚洲成av人片在www色猫咪| 日韩精品一区二区三区在线观看 | 欧美性猛交一区二区三区精品 | 精品福利av导航| 99re这里都是精品| 久久精品二区亚洲w码| 日韩伦理电影网| 日韩欧美一级在线播放| 99久久综合99久久综合网站| 日日夜夜免费精品视频| 国产精品电影一区二区三区| 91精品国产综合久久久久久| 国产98色在线|日韩| 丝袜美腿成人在线| 亚洲免费观看在线观看| 久久久久久久久99精品| 在线观看日韩电影| 国产福利精品一区二区| 日韩国产欧美三级| 亚洲一区二区不卡免费| 国产精品毛片无遮挡高清| 精品卡一卡二卡三卡四在线| 91极品视觉盛宴| 91亚洲精品乱码久久久久久蜜桃| 国产在线国偷精品免费看| 日日摸夜夜添夜夜添亚洲女人| 最新国产の精品合集bt伙计| 精品嫩草影院久久| 制服丝袜亚洲播放| 欧美色男人天堂| 日本精品免费观看高清观看| 成人av资源在线观看| 激情久久五月天| 蜜桃av一区二区三区电影| 亚洲第四色夜色| 亚洲愉拍自拍另类高清精品| 中文字幕亚洲电影| 日本一区二区三区在线不卡| 精品乱人伦一区二区三区| 欧美一区二视频| 91精品欧美久久久久久动漫| 欧美日韩黄色一区二区| 日本高清免费不卡视频| 色综合久久综合网| 一本大道久久a久久精二百| 成人高清免费在线播放| 国产成人综合精品三级| 国产精品99久久久| 成人免费观看男女羞羞视频| 成人午夜电影网站| 99国产欧美另类久久久精品| av激情成人网| 在线观看日韩电影| 欧美日韩在线精品一区二区三区激情 | 亚洲国产一区在线观看| 亚洲一区二区不卡免费| 蜜臀精品久久久久久蜜臀 | 8x8x8国产精品| 欧美一区二区三区视频在线观看| 欧美日韩综合色| 日韩欧美一级特黄在线播放| 久久影院电视剧免费观看| 欧美国产成人在线| 亚洲视频在线一区二区| 日韩高清国产一区在线| 狠狠狠色丁香婷婷综合激情| 国产精品 欧美精品| 成人黄动漫网站免费app| 91麻豆福利精品推荐| 欧美精品丝袜久久久中文字幕| 欧美一区二区精美| 国产精品久久久久久一区二区三区| 亚洲一区二区成人在线观看| 蜜桃视频在线一区| 麻豆精品精品国产自在97香蕉 | fc2成人免费人成在线观看播放| 99视频一区二区| 欧美色成人综合| 久久精品一区二区| 亚洲午夜精品在线| 狠狠色丁香婷婷综合久久片| 99久久久久久99| 精品国产凹凸成av人导航| 亚洲欧美一区二区在线观看| 免费亚洲电影在线| 99精品热视频| 日韩久久久精品| 尤物av一区二区| 国产风韵犹存在线视精品| 欧美日本国产一区| 国产精品三级视频| 美日韩黄色大片| 欧美影视一区二区三区| 国产女主播一区| 久久99精品国产| 欧美丰满美乳xxx高潮www|