循環的特殊用法及函數

while特殊用法

while read 變量名;do

循環體

done<文件路徑(將文件中的每一行依次讀入循環體,賦值給變量)

 

(())可以實現C語言風格的變量操作

for循環特殊格式

for((控制變量初始化;條件判斷表達式;控制變量修正表達式))

do

循環體

done

控制變量初始化僅在循環開始時執行一次,進行條件判斷成立后執行循環體,再執行控制變量的修正,然后再條件判斷,知道條件不滿足為止。

select用法

select 變量名 in列表

do

      循環體命令

done

select是一個無限循環命令,要用break或exit退出循環或腳本。

select主要用于創建菜單并按照順序輸出,格式由PS3變量定義

select可以根據用戶的選擇執行相應的命令,用戶的輸入被保存再REPLE變量中

select經常與case變量一起使用

select中 in list可以省略,此時則自動讀取位置變量

 

函數:函數是由若干條命令組成的語句塊,有利于代碼的重復利用和模塊化編程

函數與shell程序相似,不同的是函數不是一個單獨的進程,不能獨立運行,而且shell程序是在子shell中進行,而函數則是在當前shell中運行,所以函數運行會改變當前shell中的變量值

函數的格式

      1、 function 函數名{

函數體

}

2、         function 函數名(){

函數體

}

3、         函數名(){

函數體

}

函數的定義和使用:

 可在交互式環境下定義函數 

可將函數放在腳本文件中作為它的一部分 

可放在只包含函數的單獨文件中  ?

函數的調用:函數只有被調用才會執行; 

調用:給定函數名  函數名出現的地方,會被自動替換為函數代碼  ?

函數的生命周期:被調用時創建,返回時終止

函數有兩種返回值,一種是命令的執行結果,另一種是命令執行結果狀態碼

命令的執行結果可以用printf或echo進行輸出,也可以進行調用

函數的退出狀態碼,默認是函數最后一條命令的執行結果,也可以用return進行自定義

函數必須先定義再進行調用

函數定義在一個單獨的文件里可以通過.或source進行調用,但只對當前shell有效,對子shell也無效。

局部變量:在函數體內部定義的局部變量只在當前函數體內部有效,離開函數體自動失效,若腳本中有同名的本地變量或環境變量也優先使用局部變量

局部變量定義方法 locate 變量名=值

函數的遞歸:通過函數直接或間接的調用自身實現

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

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-21
下一篇 2016-08-21

相關推薦

  • NoSQL—mongodb常見使用和入門

    NoSQL介紹: NoSQL數據管理系統是目前非常流行的一種非關系性、分布式、不支持ACID設計規范式的數據庫;NoSQL簡單的數據模型、元數據和數據分離、弱一致性、高吞吐量、高水平擴展能力和低端硬件集群使其流行的主要原因,而mongodb就是NoSQL數據庫一種非常流行的實現方式。   常見的NoSQL數據存儲模型 列式模型 文檔類型 應用場景:…

    2015-09-01
  • LVS

    LVS概述 1.LVS:Linux Virtual Server全稱叫做linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。四層路由器(交換),根據請求報文的目標IP和目標協議及端口將其調度轉發至后端主機集群中的某臺RealServer(真實服務器),根據調度算法來挑選RS; 主要有…

    Linux干貨 2016-11-07
  • 馬哥教育網絡班20期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who | cut -d' ' -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 last | head …

    Linux干貨 2016-06-26
  • 網絡班27期第五周作業

    N27_網絡班 第五周作業 1、 顯示當前系統上root、fedora或user1用戶的默認shell [root@localhost ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/function文件中某單詞后面跟一組小括號的行,形如…

    Linux干貨 2017-08-28
  • CentOS 7上的性能監控工具

    Linux中基于命令行的性能監控工具:dstat、top、netstat、vmstat、htop、ss、glances 1、dstat – 多類型資源統計工具(需配置epel源)   該命令整合了vmstat,iostat和ifstat三種命令。同時增加了新的特性和功能可以讓你能及時看到各種的資源使用情況,從而能夠使你對比和整…

    Linux干貨 2016-09-07
  • 馬哥教育網絡班20期+第2周課程練習

    開啟我的博客之行 艱難的學習了一周,現在來寫寫作業回顧一下,這周我都學習了什么? 1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理命令有:cp、mv、rm    復制命令:cp       cp [OPTION]… [-T] SOURCE DEST &nbsp…

    Linux干貨 2016-06-23

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-21 21:05

    對while、for等循環語句的語法總結的很細致,同時函數部分的用法也很詳細,可以在文章中穿插練習中的腳本,并總結好需要注意的地方,這是經驗,課后練習需要認真對待。

欧美性久久久久