色付きの人またはエコー出力の色付け方法

最小限のスクリプトであっても、エコーヒントを使用することがよくあります。

色付きの人 」に同意するのは読みやすいので、エコーの出力を色付けしないのはなぜですか?

簡単です。

だから...



チャレンジ:

echoコマンドで表示されるテキスト文字列を色付けします

つまり これらの非常に手がかりを色付け



必要なもの:

1)マンエコー

www.opennet.ru/man.shtml?topic=echo&category=1



それから私たちは確かに重宝します



echo -e # -e echo "backslash escapes" ; \n - , \t -

echo -n # -n echo , .

echo -en # .












2)「Linuxコンソールの管理」RUSの例を含む良い記事

c-reaction.net/content/204



Colorizing Scripts ENGの例のある良い記事

www.faqs.org/docs/abs/HTML/colorizing.html



行こう:



まず、片目で、少なくとも人間エコーrusを見てから、色の使用方法を検討します。

www.opennet.ru/man.shtml?topic=echo&category=1



カラーマネジメントに移動します。



tput sgr0 ""



\033[0m

\033[1m ( )

\033[2m (-, )

\033[4m

\033[5m

\033[7m ( , -- )



\033[22m

\033[24m

\033[25m

\033[27m



\033[30

\033[31

\033[32

\033[33

\033[34

\033[35

\033[36

\033[37



\033[40

\033[41

\033[42

\033[43

\033[44

\033[45

\033[46

\033[47










色と背景の表:





black 30 40 \033[30m \033[40m

red 31 41 \033[31m \033[41m

green 32 42 \033[32m \033[42m

yellow 33 43 \033[33m \033[43m

blue 34 44 \033[34m \033[44m

magenta 35 45 \033[35m \033[45m

cyan 36 46 \033[36m \033[46m

grey 37 47 \033[37m \033[47m










これらのエスケープシーケンスを組み合わせることができます。

たとえば、\ 033 [1m \ 033 [5m \ 033 [36mは、同等のシーケンス\ 033 [1; 5; 36mに置き換えることができます。



例:

#!/bin/sh

#

#

#

echo -en "\033[37;1;41m \033[0m"












別の例:

#!/bin/sh

#

# sh

#

#

export PS1= "\[\033[1;30m\][\[\033[0m\]\t\[\033[1;30m\];\

\[\033[0m\]\W\[\033[1;30m\]]\[\033[36;1m\]|\[\033[0m\] "


echo "Now runing a new copy of shell width color prompt"

echo -en "use \033[1;36mexit\033[0m command or"

echo -e "\033[1;36m^D\033[0m to return back"

sh

#

# ,

# "\[" "\]"

# , shell

# .

# .

#












使いやすいように、色を付けて追加します。 プロパティを変数に割り当てます。

RED= '\033[0;31m' # ${RED}

GREEN= '\033[0;32m' # ${GREEN}












.shファイルはUNIX形式であり、UTF-8でエンコードされている必要があります



そして最後に、すべてのグッズの良い例:

#!/bin/sh

# echo

# echo color

#



clear #



#,

#



#black 30 40 \033[30m \033[40m

#red 31 41 \033[31m \033[41m

#green 32 42 \033[32m \033[42m

#yellow 33 43 \033[33m \033[43m

#blue 34 44 \033[34m \033[44m

#magenta 35 45 \033[35m \033[45m

#cyan 36 46 \033[36m \033[46m

#white 37 47 \033[37m \033[47m



# :

BOLD= '\033[1m' # ${BOLD} # ( )

DBOLD= '\033[2m' # ${DBOLD} # (-, )

NBOLD= '\033[22m' # ${NBOLD} #

UNDERLINE= '\033[4m' # ${UNDERLINE} #

NUNDERLINE= '\033[4m' # ${NUNDERLINE} #

BLINK= '\033[5m' # ${BLINK} #

NBLINK= '\033[5m' # ${NBLINK} #

INVERSE= '\033[7m' # ${INVERSE} # ( , -- )

NINVERSE= '\033[7m' # ${NINVERSE} #

BREAK= '\033[m' # ${BREAK} #

NORMAL= '\033[0m' # ${NORMAL} #



# :

BLACK= '\033[0;30m' # ${BLACK} #

RED= '\033[0;31m' # ${RED} #

GREEN= '\033[0;32m' # ${GREEN} #

YELLOW= '\033[0;33m' # ${YELLOW} #

BLUE= '\033[0;34m' # ${BLUE} #

MAGENTA= '\033[0;35m' # ${MAGENTA} #

CYAN= '\033[0;36m' # ${CYAN} #

GRAY= '\033[0;37m' # ${GRAY} #



# () (bold) :

DEF= '\033[0;39m' # ${DEF}

DGRAY= '\033[1;30m' # ${DGRAY}

LRED= '\033[1;31m' # ${LRED}

LGREEN= '\033[1;32m' # ${LGREEN}

LYELLOW= '\033[1;33m' # ${LYELLOW}

LBLUE= '\033[1;34m' # ${LBLUE}

LMAGENTA= '\033[1;35m' # ${LMAGENTA}

LCYAN= '\033[1;36m' # ${LCYAN}

WHITE= '\033[1;37m' # ${WHITE}



#

BGBLACK= '\033[40m' # ${BGBLACK}

BGRED= '\033[41m' # ${BGRED}

BGGREEN= '\033[42m' # ${BGGREEN}

BGBROWN= '\033[43m' # ${BGBROWN}

BGBLUE= '\033[44m' # ${BGBLUE}

BGMAGENTA= '\033[45m' # ${BGMAGENTA}

BGCYAN= '\033[46m' # ${BGCYAN}

BGGRAY= '\033[47m' # ${BGGRAY}

BGDEF= '\033[49m' # ${BGDEF}



tput sgr0 # ""



#

echo ""

echo -n " "

echo -e "${BOLD}${BGMAGENTA}${LGREEN} DNS323 ${NORMAL}"

echo ""

echo -en "${LYELLOW} 1 ${LGREEN} telnet ${GRAY}(?)${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 2 ${LGREEN} & ${GRAY}()${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 3 ${LGREEN} Transmission (${GREEN}Start${NORMAL}, ${LRED}Stop${NORMAL}, ${CYAN}Upgrade${NORMAL}) ${GRAY}()${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 4 ${LGREEN} (cp & rsync) ${GRAY}()${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 5 ${LGREEN} ${GRAY}()${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 6 ${LGREEN} fun-plug & IPKG ${GRAY}()${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 7 ${LGREEN} (${LYELLOW} n${LGREEN}load) ${GRAY}(?)${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 8 ${LGREEN} (${LYELLOW} h${LGREEN}top) ${GRAY}(?)${NORMAL}\n"

echo ""

echo -en "${LYELLOW} 9 ${LGREEN} Midnight Commander (${LYELLOW} m${LGREEN}c) ${GRAY}(?)${NORMAL}\n"

echo ""

echo -en "${LMAGENTA} q ${LGREEN} ${NORMAL}\n"

echo ""

echo "( , , , )"

echo ""

tput sgr0










ps:どのブログを公開したほうがいいですか?



UPD1: みんなのためLinuxに移植 これはこの件に関する最も近いブログです、私には思えます。

UPD2:写真を手伝ってくれてありがとう

画像







All Articles