【问题标题】:Bash: ansi color when reading input from user [duplicate]Bash:读取用户输入时的ansi颜色[重复]
【发布时间】:2019-03-05 16:06:12
【问题描述】:

当使用读取命令获取用户输入时,如下所示

read -p "[WARN] Text.. [Y/N]" choice

是否可以为警告文本分配 ANSI 颜色,例如在 echo 命令中?

WARN='\033[0;33m'
RESET='\e[0m'

echo -e "${WARN}Some warning message${RESET}"

【问题讨论】:

  • 为什么不使用echo作为提示符(你可以使用-n不添加换行符),而read读取选项(没有提示符)?

标签: bash input ansi ansi-colors


【解决方案1】:

作为Some programmer dude mentioned,你可以简单

warn='\033[0;33m'
reset='\e[0m'

echo -e -n "${warn}[WARN] Text.. [Y/N] ${reset}"
read choice

【讨论】:

  • 我建议将选项-n 添加到echo 以避免换行。
  • 为什么要混合使用\033\e? (它们都是可以接受的,只是样式偏好)
  • 刚刚复制了 OP 的代码。
猜你喜欢
  • 1970-01-01
  • 2016-08-17
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 2012-11-18
  • 2014-03-08
  • 2016-10-23
相关资源
最近更新 更多