shell編程之函數定義及使用


一.函數定義

#!/bin/sh

#func1.sh

hello()         ##函數定義

{

  echo  "Hello there today's date is 'date +%Y-%m-%d' "

  #return    2       ###返回值其實是狀態碼,只能在[0-255]范圍內

}

echo  "now going to the function hello"

hello

#echo  $?     獲取函數的return值

echo  "back from the function"

函數調用:function hello() 或 function hello 或 hello

注意:1.必須在調用函數地方之前,先聲明函數,shell腳本是逐行運行,不會像其它語言一樣先預                編譯

   2.函數返回值,只能通過$?系統變量獲得,可以顯示加:return返回,如果不加,將以最后                一條命令運行結果,作為返回值。return后跟數值n(0-255)

腳本高度:sh-vx helloWorld.sh或者在腳本中增加set -x

二.函數參數

#!/bin/bash

#fun1.sh

funWithParam(){

  echo "第一個參數為  $1!"

  echo "第二個參數為  $2!"

  echo "第十個參數為  $10!"

  echo "第十個參數為  ${10}!"

  echo "第十一個參數為  ${11}!"

  echo "參數總數有 $# 個!"

  echo "作為一個字符串輸出所有參數  $* !"

}

funWithParam 1 2 3 4 5 6 7 8 9 34 73

注意:$10不能獲取第十個參數,獲取第十個參數需要${10},當n>=10 時,需要使用${n}來獲取參數。

三.跨腳本調用函數

假如上述的腳本文件fun1.sh保存在此路徑:  /root/fun1.sh,則可在腳本fun_other.sh中調用腳本fun1.sh中的函數

#!/bin.bash

#fun_other.sh

. /root.fun1.sh   ##注: . 和/之間有空格

# 或者source /root/fun1.sh

funWithParam 11 22 33 44 55 66 77 88 99 100 101


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM