bash shell脚本中的数组运算

时间:2016-08-21 20:11:01

标签: arrays bash shell integer-arithmetic

这是我在bash中编写的代码。数组arrKey正在接收用户输入,当我检查时,它运行良好。但是我想将arrKey[]中的元素分配到新数组K1[]中,然后值会发生变化。对于arrKey[0,1]arrKey[1,0],我想指定负值,以便稍后找到矩阵的行列式。

这是代码:

  declare -A arrKey

  for ((i=0; i<2; i++)) do
      for((j=0; j<2;j++)) do
           read -p "Enter the key [$i, $j] =  :  " num
           arrKey[$i,$j]=$num
      done
  done

  declare -a K1
  K1[0,0]="$((arrKey[1,1] ))"
  K1[0,1]="$((0 - arrKey[0,1] ))"
  K1[1,0]="$((0 - arrKey[1,0] ))"
  K1[1,1]="$((arrKey[0,0] ))"

  echo ${arrKey[0,0]}
  echo ${arrKey[0,1]}
  echo ${arrKey[1,0]}
  echo ${arrKey[1,1]}
  echo
  echo ${K1[0,0]}
  echo ${K1[0,1]}
  echo ${K1[1,0]}
  echo ${K1[1,1]}

当我运行的数组K1[]值不符合预期时。

  Enter the key [0, 0] = : 1
  Enter the key [0, 1] = : 2
  Enter the key [1, 0] = : 3
  Enter the key [1, 1] = : 4

  1
  2
  3
  4

  -3
  1
  -3
  1

预期产出:

  Enter the key [0, 0] = : 1
  Enter the key [0, 1] = : 2
  Enter the key [1, 0] = : 3
  Enter the key [1, 1] = : 4

  1
  2
  3
  4

  4
  -2
  -3
  1

0 个答案:

没有答案