shell read彩色提示,select PS3彩色提示

发布时间 2023-08-02 13:01:02作者: 悟透

彩色库:

## Color msg ----------------------------------------------------
## 来源:https://gitee.com/ApolloAuto/apollo/blob/master/scripts/apollo.bashrc

BOLD='\033[1m'
RED='\033[0;31m'
BLUE='\033[1;34;48m'
GREEN='\033[32m'
WHITE='\033[34m'
YELLOW='\033[33m'
NO_COLOR='\033[0m'

function info() {
  (echo >&2 -e "[${WHITE}${BOLD}INFO${NO_COLOR}] $*")
}

function error() {
  (echo >&2 -e "[${RED}ERROR${NO_COLOR}] $*")
}

function warning() {
  (echo >&2 -e "${YELLOW}[WARNING] $*${NO_COLOR}")
}

function f_menu() {
  (echo >&2 -e "${YELLOW} $*${NO_COLOR}")
}

function ok() {
  (echo >&2 -e "[${GREEN}${BOLD} OK ${NO_COLOR}] $*")
}

function f_cmd() {
  (echo >&2 -e "[${GREEN} CMD ${NO_COLOR}] $*")
}
## Color End ----------------------------------------------------

一、read 彩色提醒信息

read -p 参数可以设置提醒信息,但是是白色的。

f_cmd "ls -l"
read -p "[ Info ] 文件从'$(echo -e ${GREEN}${BOLD}开发分支${NO_COLOR})' 复制到 '$(echo -e ${RED}${BOLD}发布分支${NO_COLOR})' 完成,回车继续:" rel_val

image

  • t.sh 文件包含 文章开头彩色库,和上面 两行代码。

二、select PS3 提醒信息设置彩色:

select 默认提醒是 #: 这样的提示不友好,可以用系统带的 PS3 来设置提醒。
但提示信息默认页是白色的。

PS3="请选择 $(echo -e ${RED}${BOLD}数字${NO_COLOR}):  "
select mode in "apple" "banana"
do
  case ${mode} in
    "apple")
      echo "选择 apple"
      break
    ;;
    "banana")
      echo "选择 banana"
      break
    ;;
    esac
done  ## select END

image

  • t.sh 文件包含 文章开头彩色库,和上面 两行代码。