我试图应用到这个printf颜色试图使它好看:
我正在构建一个脚本,该脚本显示函数名列表及其功能描述。
#!/bin/bash
#Colours
greenColour="\e[0;32m\033[1m"
endColour="\033[0m\e[0m"
redColour="\e[0;31m\033[1m"
#Format the output in a table-like structure
printf "\n${greenColour}[+]${endColour} %-15s %s\n" "${redColour}getPIP${endColour}" "Shows private IP"
但是,当我执行脚本时,第一个参数([+])确实应用了颜色,但第二个参数显示的是颜色代码,而不是应用另一种颜色:
[+] \e[0;31m\033[1mgetPIP\033[0m\e[0m Shows private IP
有什么办法吗?
提前感谢!
预期结果:将颜色应用于传递给printf的第二个参数结果:我看到的是颜色代码
1条答案
按热度按时间mqkwyuun1#
在这种情况下,双引号比较棘手;反斜杠的含义与C语言中的双引号不同......例如,我可以这样做:
在我的终端上,
[+]
是绿色的,getPIP
是红色的。上面使用的代码是“简化”的,而不是full 24-bit True Color ones。