答案1
一步一步地检查你自己的代码。
当您有一个多行变量并且执行以下操作时:
"\e[36m$weather\e[0m"
它增加\e[36m
了开头整个变量。它不会将代码添加到该变量中每一行的开头;只添加到第一行。因此输出如下所示:
\e[36分钟Struer, DK 当前气温:8 °C,多云 最高温度:9 C 最低温度:7 C 多云 最高温度:8 C 最低温度:8 C 多云,有阵雨,有风\e[0m
所以当你只乘坐第二或第三条线时,他们不要附带颜色代码,因为那里没有任何东西可以做到这一点。为了使其按您想要的方式工作,请交换操作 - 首先提取您想要的行,然后为结果添加颜色代码:
echo " \e[35mToday.........:\e[0m \e[36m$(echo "$weather" | head -2 | tail -1)\e[0m"