日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

函数定义、函数参数、跨脚本调用函数

發布時間:2024/9/27 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 函数定义、函数参数、跨脚本调用函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.6.函數使用

函數定義

示例(文件名稱為func1.sh):

#!/bin/bash

?

##定義函數

hello() {

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

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

}

hello

echo $????? ##獲取函數的return值,通過$?來獲取

echo "now going to the function hello"

echo "back from the function"

運行結果如下:

[root@hadoop test]# sh func1.sh

Hello there today's date is 2017-01-02

2

now going to the function hello

back from the function

函數調用:

function hello()?

或 function hello

或 hello

?

注意:

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

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

?

?

腳本調試:

sh -vx helloWorld.sh

或者在腳本中增加set -x

?

函數參數

定義文件名param.sh

#!/bin/bash

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

運行結果:

[root@hadoop test]# sh param.sh

第一個參數為 1 !

第二個參數為 2 !

第十個參數為 10 !

第十個參數為 34 !

第十一個參數為 73 !

參數總數有 11 個!

作為一個字符串輸出所有參數 1 2 3 4 5 6 7 8 9 34 73 !

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

?

創建文件param2.sh

#!/bin/bash

funWithReturn(){

??? echo "這個函數會對輸入的兩個數字進行相加運算..."

??? echo "輸入第一個數字: "

??? read aNum

??? echo "輸入第二個數字: "

??? read anotherNum

??? echo "兩個數字分別為 $aNum 和 $anotherNum !"

??? return $(($aNum+$anotherNum))

}

funWithReturn

echo "輸入的兩個數字之和為 $? !"

運行如下:

[root@hadoop test]# sh param2.sh

這個函數會對輸入的兩個數字進行相加運算...

輸入第一個數字:

23

輸入第二個數字:

45

兩個數字分別為 23 和 45 !

輸入的兩個數字之和為 68 !

?

跨腳本調用函數

假如上訴腳本文件param.sh保存在路徑: /home/test/test/param.sh

則可在腳本fun_other.sh中調用腳本param.sh中的函數

#!/bin/bash

. /home/test/test/param.sh???? ##注意: .? 和?? /? 之間有空格

#或者source /home/test/test/param.sh

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

執行命令之后的效果如下:

?

[root@hadoop test]# sh fun_other.sh

第一個參數為 1 !

第二個參數為 2 !

第十個參數為 10 !

第十個參數為 34 !

第十一個參數為 73 !

參數總數有 11 個!

作為一個字符串輸出所有參數 1 2 3 4 5 6 7 8 9 34 73 !

第一個參數為 11 !

第二個參數為 22 !

第十個參數為 110 !

第十個參數為 100 !

第十一個參數為 101 !

參數總數有 11 個!

作為一個字符串輸出所有參數 11 22 33 44 55 66 77 88 99 100 101 !

?

總結

以上是生活随笔為你收集整理的函数定义、函数参数、跨脚本调用函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。