避免在 bash v3.2 中对数组进行"one-to-one"映射



我正在寻找一种方法来避免数组中的这种"一对一"映射。我已经研究过关联数组/哈希表,但我运行的是bash 3.2版本,这些只有4.0+版本才支持。

#!/bin/bash
arr_fruit=(orange apple banana kiwi watermelon)
arr_color=(orange red yellow green pink)
i=0
while [ $i -lt ${#arr_fruit[@]} ]; do
     echo -e "${arr_fruit[$i]} | ${arr_color[$i]}
     i=$(($i+1))
done

您可以使用提供的完整unix工具包

$ echo -e ${arr_fruit[@]}"n"${arr_color[@]} | 
  tr ' ' 'n' | 
  pr -2ts" | "
orange | orange
apple | red
banana | yellow
kiwi | green
watermelon | pink

最新更新