(Использование zsh) Я просто пытаюсь получить случайный цветной вывод, когда открываю новую вкладку в моем терминале. Для достижения этой цели я написал следующий скрипт, но он не работает, как ожидалось:Получение значения из функции, используйте это значение для получения цветного вывода в оболочке
#Standard Colors
red='\033[0;31m'
NC='\033[0m' # No Color
black='\033[0;30m'
blue='\033[0;34m'
green='\033[0;32m'
cyan='\033[0;36m'
purple='\033[0;35m'
yellow='\033[1;33m'
lgreen='\033[1;32m'
lblue='\033[1;34m'
lred='\033[1;31m'
lcyan='\033[1;36m'
#Array color
colr=(red blue green cyan purple yellow lgreen lblue lred lcyan)
#Get random number for colors
randcolr()
{
sz=${#colr[@]}
randval=$(((RANDOM % sz) + 1))
echo "${colr[randval]}"
}
echo -e "$(randcolr)TESTING"
Вместо того, чтобы цветной вывод, он написал название цвета и «ИСПЫТАНИЕ» например lgreenTESTING
. Любая помощь? (Я использую zsh)
Функция randcolr
всегда дает такое же значение внутри терминала.
Что вы используете 'sz' для внутренней' randcolr() '? Хорошо, теперь, когда вы редактировали свой код, я вижу. – malfunctioning