Shell程式設計學習(5) 陣列和函式基本總結

2021-08-14 11:00:21 字數 2009 閱讀 4653

1.1 陣列的宣告

可以使用declare、local、readonly等各種語句宣告陣列變數,也可以直接賦值的方法宣告乙個陣列。

常用格式:name=(value1 … valuen)

value1形如「[[subscript]=]string」。

下標是可選的,若給出,則給陣列中相應的位置賦值;否 則將給陣列中上次賦值位置的下乙個位置賦值

例如:

[root@localhost root]# ns=(max san [6]=zhang [25]=wang)

[root@localhost root]# echo $

max[root@localhost root]# echo $

zhang

1.2陣列元素的引用

例如:

[root@localhost root]# a=(「$」)

[root@localhost root]# echo $

max[root@localhost root]# b=(「$」)

[root@localhost root]# echo $

max san zhang wang

注意:給陣列賦值時,等號右邊要使用圓括號。

例子:demo_num_array程式

# 將數字的總和放在數值變數sum中,從0開始。讀下乙個陣列的值並加到sum。

# 當讀完所有的元素,停止並顯示結果。

#!/bin/bash

# 將斐波納契數列中的數初始化到fibonacci 陣列中

declare

-a fibonacci=( 011

2358

1321

34 )

size=$

# fibonacci陣列的大小作為字串

index=1

# 陣列索引初始化指向第二個元素

sum=0

# sum 初始化為0

next=0

# 用來儲存下乙個陣列元素

while [ $index

-lt$size ]

donext=$(( $ )) #將下乙個值存為整數

sum=$((sum + next)) # 更新sum變數

index=$((index + 1)) # 將陣列索引加1

done

#顯示最後的和

echo

"the sum of the given $ numbers is $((sum))."

exit

0

2.1函式格式如下:

函式名( )

函式呼叫方式為:

函式名 引數列表

可以使用local關鍵字在shell函式中宣告區域性變數,區域性變數將侷限在函式的作用範圍內

例:

#!/bin/bash 

sample_txt="global varible"

foo()

echo

"script starting"

fooecho

$sample_txt

exit

0#執行結果:

[root@localhost root]# demo_fun2

script starting

function foo is executing

local varible

global varible

編寫一函式add求兩個數的和,這兩個數用位置引數傳入,最後輸出結果。

#!/bin/sh

add( )

add $1

$2

Shell程式設計 Shell函式

shell函式 1.將命令序列按格寫在一起 2.可方便重複使用命令序列 3.shell函式定義 function 函式名 4.呼叫函式的方法 函式名 引數1 引數2 5.shell函式應用示例 1 兩個數字求和 要求 通過sum 定義函式 兩個數求和 方法一 root localhost vim d...

shell程式設計 陣列

1 定義陣列 通過指定元素值來定義陣列 array key value eg.array 1 one array 3 three shell中的陣列的下標 索引 從0開始 也可以通過declare語句定義陣列 declare a array 沒必要,在shell中,所有的變數都不必顯式定義就可以用作...

Shell程式設計 陣列

1.4 求陣列最大值 1.5 示例 1.6 陣列的操作 1.7 shell指令碼除錯 1.3.1 陣列包括的資料型別 陣列只可存放數值或字元 1.3.2 陣列操作第一種方法每個元素和他後面的元素挨個比 大的放後面 root shell shuzu vimshuzu paixu.sh bin bash...