在shell脚本里简单快速的使用颜色

在shell脚本里简单快速的使用颜色的代码实现

脚本代码

#!/usr/bin/env bash
#
# some common functions 
# file: scripts/common-func.sh

# Usage:
# user_confirm
# user_confirm "custom question"
function user_confirm() {
    local yes=0
    local msg="Confirm continue"

    # override default message
    [[ "$1" != "" ]] && msg=$1

    # read user input
    read -p "$msg? [y/n]" yn

    if [[ ${yn} == [Yy]* ]]; then
        return 0
    fi

    return 1
}

# Usage:
# colored_text "message text"
# colored_text "message text" "red"
# colored_text "message text" "blue"
function colored_text() {
    NOC='\033[0m' # No Color
    RED='\033[0;31m'
    BLUE='\033[0;34m'
    CYAN='\033[0;36m'
    GREEN='\033[0;32m'
    YELLOW='\033[0;33m'

#    [[ "$2" = "" ]] && $2="green"

    if [[ "$2" = "red" ]]; then
        echo -e "${RED}$1${NOC}"
    elif [[ "$2" = "blue" ]]; then
        echo -e "${BLUE}$1${NOC}"
    elif [[ "$2" = "cyan" ]]; then
        echo -e "${CYAN}$1${NOC}"
    elif [[ "$2" = "yellow" ]]; then
        echo -e "${YELLOW}$1${NOC}"
    else # default green
        echo -e "${GREEN}$1${NOC}"
    fi
}

# quick use color print text
function red_text() {
    colored_text "$1" red
}

function blue_text() {
    colored_text "$1" blue
}

function cyan_text() {
    colored_text "$1" cyan
}

function green_text() {
    colored_text "$1" green
}

function yellow_text() {
    colored_text "$1" yellow
}

在其他脚本引入


# import common functions
source "$(dirname $0)/scripts/common-func.sh"

colored_text "Will test components:"

# do something ...

cyan_text "\nTest Completed!"