#!/bin/bash
function addarray {
local sum=0 //局部變量只在函數內部有效,函數外部重新有sum的值時,運行腳本時顯示函數外部的值
local array
array=($(echo"$@"))
for value in ${array[*]}
do
sum=$[ $sum + $value ]
done
echo $sum
}
myarray=(1,2,3,4,5,6)
echo ''the orginal array is :${myarray[*]}''
args1=$(echo ${myarray[*]})
result=$(addarray $args1) //將函數的輸出賦給變量result,然后顯示result的值,一種常用技術 ,另外這兩行代碼可以合並成一行:result=$(addarray ${myarray[*]})
echo ''the sum is :$result''
linux中一些符號標記:$@ //將所有變量都保存為單獨的詞
$* //將所有參數保存為一個字符串 ,這兩個符號都是可以訪問所有變量
$# //參數總數
&- //關閉文件
> &2 //重定向到文件描述符,2為文件描述符
&> //將STDERR,STDOUT重定向到同一個文件
$? //確定函數退出狀態碼
遺留問題,怎樣改進將數組的輸入變為終端輸入值?