在整个互联网上,我看到许多人使用脚本打印出一堆以 中定义的所有颜色的东西~/.Xdefaults
。但是当我尝试使用这些脚本时,我总是得到 error: Bad Substitution
。有没有人有可以做同样事情的脚本?
最终看起来应该是这样的:
答案1
以下是我仅使用 Bash 的解决方案:
for x in {0..8}; do
for i in {30..37}; do
for a in {40..47}; do
echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "
done
echo
done
done
echo ""
单行:
for x in {0..8}; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo ""
这是 Cygwin 中的一张图片:
答案2
一个简单的单行命令,应该适用于大多数人。
msgcat --color=test
答案3
您还可以使用colortest
包裹。
使用以下命令安装:
sudo apt-get install colortest
它提供了几个可供您使用的命令,具体取决于您想要的颜色数量:
colortest-16 colortest-16b colortest-256 colortest-8
示例输出来自colortest-16b
:
答案4
我制造了一个小脚本为了那个原因 :)
这是重点部分:
colors=$@
for (( n=0; n < $colors; n++ )) do
printf " [%d] $(tput setaf $n)%s$(tput sgr0)" $n "wMwMwMwMwMwMw
"
done
您传递一个数字给它n
,它会吐出n
彩色的线条以及每种颜色的 ansi 索引(您可以在 中使用它$(tput setaf <ansi-index>)
)。
以下是(部分)输出的屏幕截图:
#!/usr/bin/env bash
echo -e "\033[0mNC (No color)"
echo -e "\033[1;37mWHITE\t\033[0;30mBLACK"
echo -e "\033[0;34mBLUE\t\033[1;34mLIGHT_BLUE"
echo -e "\033[0;32mGREEN\t\033[1;32mLIGHT_GREEN"
echo -e "\033[0;36mCYAN\t\033[1;36mLIGHT_CYAN"
echo -e "\033[0;31mRED\t\033[1;31mLIGHT_RED"
echo -e "\033[0;35mPURPLE\t\033[1;35mLIGHT_PURPLE"
echo -e "\033[0;33mYELLOW\t\033[1;33mLIGHT_YELLOW"
echo -e "\033[1;30mGRAY\t\033[0;37mLIGHT_GRAY"
…在我当前的主题中显示: