注:以下內(nèi)容借鑒于老男孩出版的shell編程實(shí)戰(zhàn)這個(gè)文檔編寫的。
網(wǎng)站建設(shè)、成都網(wǎng)站制作的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
在shell腳本中,函數(shù)類似Linux系統(tǒng)中的命令別名,可以簡化程序的代碼量,讓程序
更易讀、易改、易用。
簡單地說,函數(shù)的作用就是將程序里多次被調(diào)用的相同代碼組合起來(函數(shù)體),并為其取一個(gè)名字(即函數(shù)名),其他所有想重復(fù)調(diào)用這部分代碼的地方都只需要調(diào)用這個(gè)名字就可以了。當(dāng)需要修改這部分重復(fù)代碼時(shí),只需要改變函數(shù)體內(nèi)的一份代碼即可實(shí)現(xiàn)對所有調(diào)用的修改,也可以把函數(shù)獨(dú)立地寫到文件里,當(dāng)需要調(diào)用函數(shù)時(shí),再加載進(jìn)來使用。
使用shell函數(shù)的優(yōu)勢如下:
- 把相同的程序段定義成函數(shù),可以減少整個(gè)程序的代碼量,提升開發(fā)效率;
- 增加程序的可讀性、易讀性,提升管理效率;
- 可以實(shí)現(xiàn)程序功能模塊化,使得程序具備通用性(可移植性)。
(1)標(biāo)準(zhǔn)寫法如下:
function 函數(shù)名() { #推薦使用此格式,花括號里面寫入的就是要執(zhí)行的命令
return n
}
(2)簡化寫法如下:
函數(shù)名() { #不用function的方法
指令...
return n
}
在shell函數(shù)的語法中,function表示聲明一個(gè)函數(shù),這部分可以省略不寫。
shell的函數(shù)分為最基本的函數(shù)和可以傳參的函數(shù)兩種,其執(zhí)行方式分別如下:
(1)執(zhí)行不帶參數(shù)的函數(shù)時(shí),直接輸入函數(shù)名即可(注意不帶小括號),格式如下:
函數(shù)名
有關(guān)執(zhí)行函數(shù)的重要說明:
- 執(zhí)行shell函數(shù)時(shí),函數(shù)名前的function和函數(shù)后的小括號都不要帶;
- 函數(shù)的定義必須在要執(zhí)行的程序前面定義或加載;
- shell執(zhí)行系統(tǒng)中各種程序的執(zhí)行順序?yàn)椋合到y(tǒng)別名→函數(shù)→系統(tǒng)命令→可執(zhí)行命令;
- 函數(shù)執(zhí)行時(shí),會和調(diào)用它的腳本共用變量,也可以為函數(shù)設(shè)定局部變量及特殊位置參數(shù);
- 在shell函數(shù)里面,return命令的功能和exit類似,return的作用是退出函數(shù),而exit是退出腳本;
- return語句會返回一個(gè)退出值(即返回值)給調(diào)用函數(shù)的當(dāng)前程序,而exit會返回一個(gè)退出值(即返回值)給執(zhí)行程序的當(dāng)前shell;
- 如果將函數(shù)存放在獨(dú)立的文件中,被腳本加載使用時(shí),需要使用source或“.”來加載。
- 在函數(shù)內(nèi)一般使用local定義局部變量,這些變量離開函數(shù)后就會消失。
(2)帶參數(shù)的函數(shù)執(zhí)行方法,格式如下:
函數(shù)名 參數(shù)1 參數(shù)2
函數(shù)后面接參數(shù)的說明:
(1)示例1:
[root@localhost ~]# vim a.sh
#!/bin/bash
#以下是定義a和b兩個(gè)函數(shù)
function a(){
echo "aaaaaaaaaaa"
}
function b(){
echo "bbbbbbbbbbb"
}
b #在腳本中執(zhí)行函數(shù)名以便調(diào)用函數(shù),這里先調(diào)用了函數(shù)b
a #再調(diào)用函數(shù)a
[root@localhost ~]# sh a.sh #執(zhí)行結(jié)果如下
bbbbbbbbbbb
aaaaaaaaaaa
老男孩編寫的關(guān)于shell函數(shù)的內(nèi)容,只有兩個(gè)大的腳本沒有寫上來了,建議看原版文檔來了解shell,后面的內(nèi)容,我沒什么耐心寫了,可以在我博客置頂文章的末尾,下載原版文檔進(jìn)行學(xué)習(xí)。
當(dāng)前名稱:shell函數(shù)介紹及使用
文章地址:http://www.muchs.cn/article14/ghpdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、微信公眾號、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)