shell中的函式和陣列

2021-08-15 12:36:01 字數 1846 閱讀 8320

shell指令碼中的函式

函式就是把一段**整理到了乙個小單元中,並給這個小單元起乙個名字,當用到這段**時直接呼叫這個小單元的名字即可。

格式:

function f_name()

函式必須要放在最前面

示例1

#!/bin/bash

input

() input 1 a b

示例2

#!/bin/bash

sum()

sum 1

2

示例3

#!/bin/bash

ip() '

}read -p "please input the eth name: " e

myip=`ip $e`

echo

"$e address is $myip"

——–ppt中有錯誤————————————-

shell中的陣列

定義陣列 a=(1 2 3 4 5); echo $

echo $ 獲取陣列的元素個數

echo $ 讀取第三個元素,陣列從0開始

echo $ 等同於 $ 顯示整個陣列

陣列賦值

a[1]=100; echo $

a[5]=2; echo $ 如果下標不存在則會自動新增乙個元素

陣列的刪除

uset a; unset a[1]

陣列分片

a=(`seq 1 5`)

echo $ 從第乙個元素開始,擷取3個

echo $ 從第二個元素開始,擷取4個

echo $ 從倒數第3個元素開始,擷取2個

陣列替換

echo \$

a=(\$)

shell專案-告警系統

需求:使用shell定製各種個性化告警工具,但需要統一化管理、規範化管理。

思路:指定乙個指令碼包,包含主程式、子程式、配置檔案、郵件引擎、輸出日誌等。

主程式:作為整個指令碼的入口,是整個系統的命脈。

配置檔案:是乙個控制中心,用它來開關各個子程式,指定各個相關聯的日誌檔案。

子程式:這個才是真正的監控指令碼,用來監控各個指標。

郵件引擎:是由乙個python程式來實現,它可以定義發郵件的伺服器、發郵件人以及發件人密碼

輸出日誌:整個監控系統要有日誌輸出。

要求:我們的機器角色多種多樣,但是所有機器上都要部署同樣的監控系統,也就說所有機器不管什麼角色,整個程式框架都是一致的,不同的地方在於根據不同的角色,定製不同的配置檔案。

bin下是主程式

conf下是配置檔案

shares下是各個監控指令碼

mail下是郵件引擎

log下是日誌。

十六周五次課(2月8日)

20.16/20.17 shell中的函式

20.18 shell中的陣列

20.19 告警系統需求分析

shell指令碼 函式和陣列

二 shell陣列 三 指令碼除錯 function name 呼叫 shell 函式時可以給它傳遞引數,也可以不傳遞。如果不傳遞引數,直接給出函式名字即可 name如果傳遞引數,那麼多個引數之間以空格分隔 name param1 param2 param31.定義乙個函式,輸出 乙個 bin ba...

c 陣列新增元素 Shell函式和陣列

function test test function 關鍵字可寫,也可不寫。bin bash test test bash test.sh this is a function.shell 函式很簡單,函式名後跟雙括號,再跟雙大括號。通過函式名直接呼叫,不加小括號。bin bash test te...

shell指令碼中的函式, shell中的陣列

示例1 bin bash 函式的使用 input input 1 a b root second fun.sh 1 a 3 fun.sh 示例2 bin bash 傳遞乙個引數給函式 input read p please input n input root second fun.sh pleas...