在整个互联网上,我看到许多人的脚本以~/.Xdefaults
。定义的所有颜色打印出一堆东西。但是,当我尝试使用它们时,我总是会得到 error: Bad Substitution
。有人有做同样事情的工作脚本吗?
它最终应该看起来像这样:
在整个互联网上,我看到许多人的脚本以~/.Xdefaults
。定义的所有颜色打印出一堆东西。但是,当我尝试使用它们时,我总是会得到 error: Bad Substitution
。有人有做同样事情的工作脚本吗?
它最终应该看起来像这样:
Answers:
这是我仅使用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中的照片:
{30..37}
相当于`seq 30 37`
bash并且速度更快。
for x in 0 1 4 5 7 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 "";
这是我的版本:
#!/usr/bin/env python
import sys
terse = "-t" in sys.argv[1:] or "--terse" in sys.argv[1:]
write = sys.stdout.write
for i in range(2 if terse else 10):
for j in range(30, 38):
for k in range(40, 48):
if terse:
write("\33[%d;%d;%dm%d;%d;%d\33[m " % (i, j, k, i, j, k))
else:
write("%d;%d;%d: \33[%d;%d;%dm Hello, World! \33[m \n" %
(i, j, k, i, j, k,))
write("\n")
这将打印所有内容。如果您想要一个漂亮的表(仅显示样式(0)和(1)(普通和粗体)),则可以使用-t
or --terse
参数:
'blink'样式(5)在gnome-terminal上不起作用。;-)
如果这对您不起作用,则有其他问题。经过测试后,请告知我们。
DULL=0 BRIGHT=1 FG_WHITE=37 WHITE="\[$ESC[${DULL};${FG_WHITE}m\]"
为什么为什么暗淡的白色(0;37;40
)比白色更灰色,而明亮的白色(1;37;40
)加粗呢?我想将终端字体设置为黑底白字,而不是粗体字。当我运行您的脚本时,在第一行之后1;37;40
看起来完全没问题:5img.com/img13/740/24screenshot.png因此,我的PS1行是文本颜色;我要用的颜色。0;30;40
0;30;41
我为此做了一个小脚本 :)
您将数字传递给它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"
…以我当前的主题显示:
#!/usr/bin/env sh
不是一个好主意。它不适用于Ubuntu的默认shell,即破折号。我不得不将其更改为bash。
最近想找到许多人都在引用我自己的脚本。它来自tldp.org Bash Prompt HOWTO- http: //tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html 。该脚本由丹尼尔·克里斯曼(Daniel Crisman)创作。
它的输出与问题图片上的输出完全相同。脚本本身:
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo
请参阅https://askubuntu.com/a/396555/41013 ,它将以BOLD,UNDERLINE,Highlighting和colors等格式打印以下输出。
这是TLDP脚本的修改版本在这里。它显示标准颜色和鲜艳颜色(代码90-97和100-107)。
#!/bin/bash
# Show available terminal colours.
# Heavily modified version of the TLDP script here:
# http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
print_colors(){
# Print column headers.
printf "%-4s " '' ${bgs[@]}
echo
# Print rows.
for bold in ${bolds[@]}; do
for fg in ${fgs[@]}; do
# Print row header
printf "%s;%s " $bold $fg
# Print cells.
for bg in ${bgs[@]}; do
# Print cell.
printf "\e[%s;%s;%sm%s\e[0m " $bold $fg $bg "text"
done
echo
done
done
}
# Print standard colors.
bolds=( 0 1 )
fgs=( 3{0..7} )
bgs=( 4{0..8} )
print_colors
# Print vivid colors.
bolds=( 0 ) # Bold vivid is the same as bold normal.
fgs=( 9{0..7} )
bgs=( 10{0..8} )
print_colors
输出示例:
当我搜索如何在终端中显示颜色代码时,这个问题实际上是最高的结果。因此,我想伸张正义,并给出手术医生的确切要求。我确实记得屏幕截图有些熟悉。起初,我以为是Gogh的,但是有点不同。然后,我意识到这与iTerm2 colors中使用的脚本完全相同。
足够幸运,他们增加了在它最初来评论从
我将发布脚本以供参考,该脚本取自iTerm2,并带有原始代码:
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
# Copied from http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo
这是运行中的脚本: