我有一个名为“array”的数组,其中包含五个动物名称。我想在每个数组项期望最后一个之后有两个换行符(\n\n)。下面的脚本正是我想要的:
[user@T60 ~]$ cat scriptfile.sh
#!/usr/bin/env bash
array=( cat dog elefant zebra hippo )
number_of_items_in_array=${#array[@]}
penultimate_array_item=$(( $number_of_items_in_array - 2 ))
ultimate_array_item=$(( $number_of_items_in_array - 1 ))
for i in $(seq 0 $penultimate_array_item); do
printf '%s\n' "${array[$i]/%/$'\n\n'}"
done
for i in $ultimate_array_item; do
printf '%s\n' "${array[$i]}"
done
[user@T60 ~]$ ./scriptfile.sh
cat
dog
elefant
zebra
hippo
[user@T60 ~]$
但是,我觉得它有点笨拙。有没有更优雅、更简约的解决方案?