如何在 Bash/Perl 中随机生成 ANSI 颜色?

tai*_*bur -3 bash perl

我想随机生成 ANSI 颜色。它需要两个功能。

  • 随机生成
  • 选择从特定颜色类型生成,例如随机生成仅灰色或仅绿色的不同色调。

xxf*_*xxx 5

在 bash 中,您需要使用颜色转义序列echo -e

随机颜色.sh

#!/bin/bash

TXT='the quick brown fox jumped over the lazy dog.'
WORDS=( $TXT )
for WORD in "${WORDS[@]}"; do
    let "i=$RANDOM % 256"
    echo -en "\e[38;5;${i}m$WORD \e[0m";
done;
echo
Run Code Online (Sandbox Code Playgroud)

运行 10 次:

for i in `seq 1 10`; do bash random_colors.sh; done
Run Code Online (Sandbox Code Playgroud)

输出

Bash 颜色输出

要获得特定的调色板,您需要限制颜色编号集。

ANSI 颜色转义码

颜色和格式