実行するとログイン画面が生成されます。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!")"