shell腳本編程之函數

  在編寫腳本時經常會遇到某個任務需要重復使用的問題,需每次都要輸入同樣的代碼是件挺煩人的事情,還好可以通過編寫函數還簡化這項工作。

  函數其實就是給一段代碼起個名字,在每次使用這段代碼的時候可以直接使用函數名來調用就可以了。

一、創建函數

  創建函數的格式有兩種:

  格式1:function 函數名{

        函數體

       }

  格式2:函數名(){

        函數體

       }

  調用函數時直接寫函數名即可。

二、使用函數

1.jpg

   上例中在一開始定義了名為test的函數,然后直接使用函數名調用即可。

三、函數的返回值

  1、執行狀態返回值:函數體中最后一次執行的命令狀態結果;

2.jpg

  函數執行成功,返回值為默認的0。

  2、自定義執行狀態返回值

   可以使用return命令來定義狀態返回值,狀態值的取值范圍為0-255。

5.jpg

四、接受參數的函數

  函數也可以帶入參數,如下面的實例所示:

5.jpg

  函數中引用了兩個參數,則在使用函數時需要手動將參數傳遞過去,如圖中標注處。

6.jpg

五、創建函數庫文件

  可以將自定義的函數保存在一個的文件中,在需要時可以直接調用所需要的函數。

  下面是自定義的一個庫文件:

1.jpg

  在腳本中使用這個庫文件中的函數:

2.jpg

  腳本的運行結果:

3.jpg

  也可以在命令行中來使用自定義的函數,只需要在bash shell啟動時讀取這個庫文件。

  在~/.bashrc文件中添加庫文件:

4.jpg

  在命令行中直接使用自定義的函數:

6.jpg

原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/10766

(0)
petmasterpetmaster
上一篇 2016-01-05
下一篇 2016-01-05

相關推薦

  • Linux入門詳解(第一周)

    Linux入門 1. 描述計算機的組成及其功能 計算機硬件的五大組成部分為:運算器、控制器、存儲器、輸入設備和輸出設備; CPU:CPU是執行存儲在主存中指令的引擎;內部又分為算數邏輯單元和控制單元,其中算數邏輯單元主要負責程序的運算與邏輯判斷,控制單元則主要是協調各周邊組件與各單元間的工作;此外CPU內還包含寄存器(如PC)和高速緩存等; 存儲器:這里指主…

    Linux干貨 2016-08-29
  • 文本處理工具和shell腳本基本編程

    文本處理工具 grep 對文本進行搜索獲取我們想要的行(關鍵信息) egrep 支持擴展正則表達式的grep fgrep 快速搜索不支持正則    -v 取反  找出不包含“pattern”的行  -i 忽略字符的大小寫  -n 顯示行號  -c 顯示統計到的行數,等同于wc -l  -o…

    2017-04-09
  • My Blog Testing!

    My Blog Testing!

    Linux干貨 2016-08-08
  • Linux磁盤與文件系統管理

    對于一塊磁盤,如果我們想要使用的話,需要對磁盤進行分區并建立文件系統。下面,我們就了解一下Linux中的磁盤與文件系統管理 一、MBR 硬盤的0扇區為MBR扇區,其由以下幾部分組成: l  主引導程序(偏移地址0000H–0088H),它負責從活動分區中裝載,并運行系統引導程序。 l  出錯信息數據區,偏移地址0089H&#8…

    Linux干貨 2016-08-28
  • find 詳解

    find 命令基本用法:         find pathname [opotions] [-print | -exec | -ok …] 1、find 基本參數:         pa…

    Linux干貨 2016-12-26
  • RPM的使用

    概述 RPM 是 Red Hat PackageManager 的縮寫,本意是Red Hat 軟件包管理,顧名思義是Red Hat 貢獻出來的軟件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流發行版本,以及在這些版本基礎上二次開發出來的發行版采用; RPM包里面都包含什么?里面包含可執行的二進制程序,這個程序和W…

    Linux干貨 2016-02-14
欧美性久久久久