发布于 2015-09-29 18:53:23
在Mac中,我使用了斯特雷德库。
#export DYLD_INSERT_LIBRARIES="/LOCATION_OF_THE_LIB/libstderred.dylib${DYLD_INSERT_LIBRARIES:+:$DYLD_INSERT_LIBRARIES}"删除此库设置将显示没有代码的字符串。
发布于 2015-09-27 01:52:20
如果我理解您的问题,在bash (或任何支持它们的终端)中控制颜色的最简单方法是使用ANSI转义序列。示例:
#!/bin/bash
blue='\e[0;34m' # ${blue}
green='\e[0;32m' # ${green}
nc='\e[0m' # ${nc} (no color - disables previous color selection)
printf "${blue}This text is blue, ${green}this is green${nc}\n"
exit 0网站上有一些ANSI序列的完整参考资料,但对于基本颜色,以下内容通常就足够了:
black='\e[0;30m' # ${black}
blue='\e[0;34m' # ${blue}
green='\e[0;32m' # ${green}
cyan='\e[0;36m' # ${cyan}
red='\e[0;31m' # ${red}
purple='\e[0;35m' # ${purple}
brown='\e[0;33m' # ${brown}
lightgray='\e[0;37m' # ${lightgray}
darkgray='\e[1;30m' # ${darkgray}
lightblue='\e[1;34m' # ${lightblue}
lightgreen='\e[1;32m' # ${lightgreen}
lightcyan='\e[1;36m' # ${lightcyan}
lightred='\e[1;31m' # ${lightred}
lightpurple='\e[1;35m' # ${lightpurple}
yellow='\e[1;33m' # ${yellow}
white='\e[1;37m' # ${white}
nc='\e[0m' # ${nc} (no color - disables previous color selection)注意:总是用${nc} ('\e[0m')将字符串末尾的颜色重置为默认颜色,以防止脚本完成后颜色的延续。最后,如果使用echo,则必须使用echo -e来处理ANSI代码。
Note2:由于您看到的是代码而不是颜色,所以您有几种可能性:(1)您使用echo而没有-e选项来允许正确地解释代码(或类似的内容);或者(2)您使用的终端缺乏颜色功能(尽管这是值得怀疑的,因为几乎所有现代终端都是基于VT的,并提供默认的颜色处理)。
正如下面的注释所建议的那样,您也可以用tput设置颜色(背景是setab #,前景是setaf # )。
https://stackoverflow.com/questions/32803643
复制相似问题