shell

shell数组的等式赋值(变量交换)坑

2018-08-21  本文已影响149人  陆_志东

在shell中式不能直接用=交换数组的.如果直接使用=得到的就会是数组的第一个数值

  1 # /bin/bash
  2 res=(1 2)
  3 res1=$res
  4 echo ${res1[0]}
  5 echo ${res1[1]}
输出:
1
    --空行  ${res[1]} 并不存在

正确的数组交换

方式一

  1 # /bin/bash
  2 res=(1 2)
  3 res1=(`echo ${res[*]}`)
  4 echo ${res1[0]}
  5 echo ${res1[1]}
输出:
1
2

方式二

  1 # /bin/bash
  2 res=(1 2)
  3 res1=(${res[0]} ${res[1]})
  4 echo ${res1[0]}
  5 echo ${res1[1]}
输出:
1
2
上一篇下一篇

猜你喜欢

热点阅读