shell基礎之函式

2022-09-06 03:57:07 字數 766 閱讀 1751

shell中允許將一組命令集合或語句形成一段可用**,這些**塊稱為shell函式。給這段**起個名字稱為函式名,後續可以直接呼叫該段**。

格式:

func()

例項1:

[root@ren01 ~]# cat test1.sh

#!/bin/bash

func()

func

[root@ren01 ~]# sh test1.sh

this is a

function.

shell 函式很簡單,函式名後跟雙括號,再跟雙大括號。通過函式名直接呼叫,不加小括號。

例項2:函式返回值

[root@ren01 ~]# cat test2.sh

#!/bin/bash

func()

func

echo $?[root@ren01 ~]# sh test2.sh

7

return 在函式中定義狀態返回值,返回並終止函式,但返回的只能是 0-255 的數字,類似於 exit。

例項3:函式傳參

[root@ren01 ~]# cat test3.sh

#!/bin/bash

func()

func world

[root@ren01 ~]# sh test3.sh

hello world

通過shell位置引數給函式傳參。

Shell函式基礎

使用者可以在shell中自定義函式,基本格式是 bin bash function 函式名 例如 bin bash function test test 想要呼叫函式可以直接在 bin bash中呼叫 有返回值 1 可以帶function test2 定義,也可以直接test2 定義,不帶任何引數。...

shell基礎之陣列

陣列格式 array name value1 value2 value3 值之間用空格隔開 array name 0 a 賦值 獲取某索引處的值 獲取陣列中全部元素 獲取陣列中全部元素 1 bin bash 2 array a b c d e 3 for i in do 4 echo i 5 don...

Shell學習之函式

和c語言類似,shell 中也有函式的概念,但是函式定義中沒有返回值也沒有引數列表。例如 bin sh foo echo start fooecho end 注意函式體的左花括號 寫在同一行,命令末尾必須有分號 但,不建議將函式定義寫至一行上,不利於指令碼閱讀。在定義foo 函式時並不執行函式體中的...