函數可以讓我們將一個復雜功能劃分成若干模塊,讓程序結構更加清晰,代碼重復利用率更高。像其他編程語言一樣,Shell 也支持函數。Shell 函數必須先定義后使用1. Shell 函數的定義格式如下:
[function] fun_name () {command1[retrun n]}
函數返回值,可以顯式增加return語句;如果不加,會將最后一條命令運行結果作為返回值。Shell 函數返回值只能是整數,一般用來表示函數執行成功與否,0表示成功,其他值表示失敗。如果 return 其他數據,比如一個字符串,往往會得到錯誤提示:“numeric argument required”。調用函數只需要給出函數名,不需要加括號。測試例子如下:
#!/bin/sh#author : lottu#Copyright (c) li0924.comfunction lottu () {echo "HI lottu"read -p "please input your name: " nameecho "HI ${name}"}lottu #調用函數echo $? #打印函數執行結果執行結果如下:./fun01.shHI lottuplease input your name: li0924HI li09240
2. 刪除函數 和變量一樣,刪除函數也可以使用 unset 命令,不過要加上 .f 選項,如下所示:
unset .f function_name
如果你希望直接從終端調用函數,可以將函數定義在主目錄下的 .PRofile 文件,這樣每次登錄后,在命令提示符后面輸入函數名字就可以立即調用3. 函數參數 在Shell中,調用函數時可以向其傳遞參數。在函數體內部,通過 $n 的形式來獲取參數的值,例如,$1表示第一個參數,$2表示第二個參數. 【注意】,$10 不能獲取第十個參數,獲取第十個參數需要${10}。當n>=10時,需要使用${n}來獲取參數。穿衣理論。
新聞熱點
疑難解答