文章出處

文件名: test11.sh 

#!/bin/bash
# adding values in an array

function addarray {
  local sum=0
  local newarray
  newarray=("$@")
  for value in ${newarray[*]}
  do
    sum=$[ $sum+$value ]
  done
  echo $sum
}
myarray=(1 2 3 4 5)
echo "The original array is : ${myarray[*]}"
argl="${myarray[*]}"
result="addarray $argl"
echo "The result is $result"

運行后輸出的結果為:

The original array is : 1 2 3 4 5
The result is addarray 1 2 3 4 5

并沒有得到想要的和,錯誤還不清楚

 

錯誤找到了: result="addarray $argl" 中的 addarray $argl 左右兩邊的是`符號,就是左上角~的那個鍵,書上看的以為是單引號,一想怎么可能是單引號,單引號會把里面的字符都看作是字符串,可是用了雙引號也是沒有結果,后來看到別的書上的腳本,發現引用函數時,外面的符號是`,改了后結果就能長長輸出

輸出結果:

The original array is : 1 2 3 4 5
The result is 15

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()