Figletのカラー変数!

Figletのカラー変数!

実行するとログイン画面が生成されます。CLI Arch Linuxこのファイルにスクリプトを作成しました。

/etc/bash.bashrc

このように:

#COMMANDS CREATED INSIDE /ETC/BASH.BASHRC FILE
# USING ANSI COLORS
RED="\e[31m"
ORANGE="\e[33m"
BLUE="\e[94m"
GREEN="\e[92m"
STOP="\e[0m"


# LOGIN SCREEN MESSAGE 
screenfetch
printf "${GREEN}"
printf "=================================\n"
printf "${ORANGE}"
figlet -w 200 -f standard "F4NT0 ARCH LINUX"
printf "${BLUE}"
figlet -w 200 -f  small "CLI Operational System"
printf "${GREEN}"
printf "=================================\n"
printf "${STOP}"

上記のコードで色を呼び出す変数を作成し、「方法を提供」以下を使用して生成されたメッセージについてFigutプロシージャ使用印刷機能

これにより、最後の変数呼び出しまでメッセージの色を指定できます(下のメッセージは上記の変数で呼び出された色と同じままです)、次の変数を呼び出すと、コードは次のメッセージの色を変更します。まで止める色漏れを防ぐための変数です。

ログイン手紙

私のアーチで動作する方法は好きですが、プログラミング可能性は「汚い」と思います...

Unix / Linuxのスクリプトに色をより完全に追加するために、figletコマンド(ANSI、tputなど)に色を追加する方法はありますか?

答え1

この質問で私が示した方法は、フィレットに色を置くための最良の方法です。コマンドの前に色を付ける方法が機能する唯一の方法です。次の色を呼び出した後、次の行は新しい色になります。 ! !

気になる人がいる場合に備えて、私が色を呼び出す方法は、次のANSIカラーコードを使用することです。

通常の色:

  • \e[30m = 黒
  • \e[31m = 赤
  • \e[32m = 緑
  • \e[33m = 黄色
  • \e[34m = 青
  • \e[35m = 紫
  • \e[36m = ターコイズ
  • \e[37m = ホワイト

明るい色:

  • \e[90 = 薄い黒
  • \e[91 = 薄赤
  • \e[92 = 薄緑色
  • \e[93 = 薄い黄色
  • \e[94 = 水色
  • \e[95 = 薄紫色
  • \e[96 = 薄いターコイズ
  • \e[97 = 明るい白

私が使用した方法は唯一の方法でも完全な方法でもありません。

ANSIの色に関する完全な情報については、次のウェブサイトをお読みください。

https://misc.flogisoft.com/bash/tip_colors_and_formatting

変数情報:

  • 混乱を避けるための最善の方法なので、色名をすべて大文字で書きました。

緑 = "\e[92m"

  • 生成された変数を呼び出すには、構造体$ {}を使用してVaiable値をキャプチャする必要があります。

${緑}

  • コマンドの前に色を表示するには、printfを使用して色を漏らす必要があります(私はPrintfを使用しますが、エコーも機能すると思います)。

printf "${緑}"

  • 画面に印刷される内容の次の行には、変数の色が表示されます。

printf "${緑}"

Figlet -f 標準「これは緑です」

テキストは次のようにする必要があります。

テスト

  • 発生しない色の漏れを防ぐには、次の2つの手順を実行します。
    • 新しい色を追加するには、新しい色を呼び出します。
    • 色を停止するには、次の変数を使用します。

      停止="\e[0m"

      • 最後にStopと入力してから、次のように色を変更したくありません。

      printf "${停止}"

答え2

次のパターンを使用することをお勧めします。

RED_B='\e[1;91m'
GREEN_B='\e[1;92m'
YELLOW_B='\e[1;93m'
BLUE_B='\e[1;94m'
PURPLE_B='\e[1;95m'
CYAN_B='\e[1;96m'
WHITE_B='\e[1;97m'
RESET='\e[0m'

red() { echo -e "${RED_B}${1}${RESET}"; }
green() { echo -e "${GREEN_B}${1}${RESET}"; }
yellow() { echo -e "${YELLOW_B}${1}${RESET}"; }
blue() { echo -e "${BLUE_B}${1}${RESET}"; }
purple() { echo -e "${PURPLE_B}${1}${RESET}"; }
cyan() { echo -e "${CYAN_B}${1}${RESET}"; }
white() { echo -e "${WHITE_B}${1}${RESET}"; }

次に Figlet コマンドを color 関数の引数として渡すことができます。

bash-5.0# green "$(figlet -f big "Hello!")"

ここに画像の説明を入力してください。

関連情報