最近,我提出了一个好主意制作彩虹文本,但它仍然失败。我试图制作一个嵌套循环,这样它们的数组中的每个颜色和字符串都可以一起分配,以制作看起来很酷的文本。
output=(Z y r o V P N)
rainbow=(9 202 11 46 43 90 91)
for i in ${rainbow[*]}
do
for x in ${output[*]}
do
echo -e "\e[38;5;${i}m${x}\e[0m"
done
done
但是这会发生什么 all text is colored
希望它能够得到解决答案 0 :(得分:0)
您需要迭代两个循环一起:
#!/bin/bash
output=(Z y r o V P N)
rainbow=(9 202 11 46 43 90 91)
for i in $(seq 0 ${#output[*]}); do
echo -en "\e[38;5;${rainbow[i]}m${output[i]}\e[0m"
done
echo
-n
会阻止新行,最后的回声会添加它。