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...