shell指令碼之函式和陣列(含案例,適合新手練習)

2021-10-10 15:06:15 字數 2050 閱讀 5679

1.3、shell函式應用

二、陣列

[

function

] 函式名(

)

#!/bin/bash

read -p "請輸入兩個整數:" shu_1 shu_2

function sqrt (

)sqrt $shu_1

$shu_2

基本格式

陣列名=(value0 value1 value2...)

基本格式

陣列名=([0]

=value [1]

=value [2]

=value...)

基本格式

列表名=「value0 value1 value2」

陣列名=($列表名)

基本格式

陣列名[0]

=「value」

陣列名[1]

=「value」

陣列名[2]

=「value」

...

基本格式  $

例如[root@localhost opt]# abc=(10 20 30 40 50)

[root@localhost opt]# echo $

5

基本格式$例如

[root@localhost opt]# echo $

10[root@localhost opt]# echo $

20[root@localhost opt]# echo $

20[root@localhost opt]# echo $

30...

基本格式  $

$以上是把陣列的內容一一單列出來

例: [root@localhost opt]# echo $

10 20 30 40 50

基本格式    $

例:從陣列的第二個元素後面取,取3個元素

$這裡的 2 指跳過的元素,3 指獲取的元素個數

#!/bin/bash

for((i=

1;i<=

5;i++));

doread -p "請輸入第$i個數字:" num

abc[

$i-1]

=$num

done

max=

$for

((k=

1;k<=$-

1;k++));

doif

[$max -lt $];

then

max=$fi

done

echo

"最大值是:$max"

[root@localhost opt]# chmod +x max.sh 

[root@localhost opt]# ./max.sh

請輸入第1個數字:2

請輸入第2個數字:3

請輸入第3個數字:66

請輸入第4個數字:33

請輸入第5個數字:111

最大值是:111

#!/bin/bash

read -p "請輸入你的陣列長度:" num1

for i in

`seq $num1`

doread -p "請輸入$i個數:" shu

number[

$i-1]

=$shu

done

echo

$max=

$for

((j=

1;j<=$-

1;j++

))doif[

$ -gt $max

]then

max=$fi

done

echo

"最大值為$max"

shell指令碼 函式和陣列

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

shell指令碼基礎語法(if 和 陣列)

條件判斷命令 test 或者 例 test 1 lt 4 判斷1 4 test語句的等價形式 1 lt 4 檔案測試符號 f 存在且是普通檔案 d 存在且是目錄 s 存在且位元組數大於0 r 存在且可讀 w 存在且可寫 x 存在且可執行 如 test d mydoc 判斷mydoc是否是目錄例子 1...

Shell指令碼之陣列

陣列是存放相同型別資料的集合,陣列中可以存放多個值,經常配合迴圈語句進行使用。例如 有乙個陣列 num 15 16 17 18 19 陣列名稱 num 陣列元素 第1個 11 陣列長度 5 陣列下標 元素18所對應的下標為3shell 陣列用括號來表示,元素用 空格 符號分割開,語法格式如下 方法一...