আমি ইকো কমান্ড ব্যবহার করে টার্মিনালে একটি পাঠ্য মুদ্রণের চেষ্টা করছি।
আমি লেখাটি একটি লাল রঙে মুদ্রণ করতে চাই। আমি এটা কিভাবে করবো?
আমি ইকো কমান্ড ব্যবহার করে টার্মিনালে একটি পাঠ্য মুদ্রণের চেষ্টা করছি।
আমি লেখাটি একটি লাল রঙে মুদ্রণ করতে চাই। আমি এটা কিভাবে করবো?
উত্তর:
আপনি এই এএনএসআই এস্কেপ কোডগুলি ব্যবহার করতে পারেন :
Black 0;30 Dark Gray 1;30
Red 0;31 Light Red 1;31
Green 0;32 Light Green 1;32
Brown/Orange 0;33 Yellow 1;33
Blue 0;34 Light Blue 1;34
Purple 0;35 Light Purple 1;35
Cyan 0;36 Light Cyan 1;36
Light Gray 0;37 White 1;37
এবং তারপরে এগুলি আপনার স্ক্রিপ্টে ব্যবহার করুন:
# .---------- constant part!
# vvvv vvvv-- the code from above
RED='\033[0;31m'
NC='\033[0m' # No Color
printf "I ${RED}love${NC} Stack Overflow\n"
যা love
লাল রঙে মুদ্রণ করে।
@ জেমস-লিমের মন্তব্য থেকে, আপনি যদি echo
কমান্ডটি ব্যবহার করে থাকেন তবে ব্যাকস্ল্যাশ এড়াতে অনুমতি দেওয়ার জন্য -e পতাকা ব্যবহার করতে ভুলবেন না ।
# Continued from above example
echo -e "I ${RED}love${NC} Stack Overflow"
( "\n"
আপনি অতিরিক্ত খালি লাইন যোগ না করতে চাইলে প্রতিধ্বনি ব্যবহার করার সময় যুক্ত করবেন না )
\e[0;31mHello Stackoverflow\e[0m
echo
ব্যাকস্ল্যাশ পালাতে সক্ষম করতে বলে ।
\x1B
পরিবর্তে ব্যবহার করে \e
। \033
সমস্ত প্ল্যাটফর্মের জন্য ঠিক আছে।
for (( i = 30; i < 38; i++ )); do echo -e "\033[0;"$i"m Normal: (0;$i); \033[1;"$i"m Light: (1;$i)"; done
আপনি সমস্ত ধরণের জিনিসের জন্য টার্মিনাল নিয়ন্ত্রণ কোড তৈরি করতে দারুণ tput
কমান্ড ( Ignacio এর উত্তরে প্রস্তাবিত ) ব্যবহার করতে পারেন ।
নির্দিষ্ট tput
সাব-কমান্ডগুলি পরে আলোচনা করা হবে।
tput
কমান্ডের অনুক্রমের অংশ হিসাবে কল করুন :
tput setaf 1; echo "this is red text"
এর ;
পরিবর্তে &&
যদি ব্যবহার করুনtput
ত্রুটি পাঠ্যটি এখনও দেখায় ।
আর একটি বিকল্প শেল ভেরিয়েবল ব্যবহার করা হয়:
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
echo "${red}red text ${green}green text${reset}"
tput
অক্ষর ক্রম উত্পাদন করে যা টার্মিনাল দ্বারা একটি বিশেষ অর্থ হিসাবে ব্যাখ্যা করা হয়। সেগুলি তাদের দেখানো হবে না। মনে রাখবেন যে এগুলি ফাইলগুলিতে সংরক্ষণ করা যেতে পারে বা টার্মিনাল ব্যতীত অন্যান্য প্রোগ্রাম দ্বারা ইনপুট হিসাবে প্রক্রিয়া করা যায়।
কমান্ড প্রতিস্থাপন ব্যবহার করে tput
সরাসরি আপনার echo
স্ট্রিংয়ের আউটপুট toোকানো আরও সুবিধাজনক হতে পারে :
echo "$(tput setaf 1)Red text $(tput setab 7)and white background$(tput sgr 0)"
উপরের কমান্ড উবুন্টুতে এটি তৈরি করে:
tput setab [1-7] # Set the background colour using ANSI escape
tput setaf [1-7] # Set the foreground colour using ANSI escape
রঙগুলি নিম্নরূপ:
Num Colour #define R G B
0 black COLOR_BLACK 0,0,0
1 red COLOR_RED 1,0,0
2 green COLOR_GREEN 0,1,0
3 yellow COLOR_YELLOW 1,1,0
4 blue COLOR_BLUE 0,0,1
5 magenta COLOR_MAGENTA 1,0,1
6 cyan COLOR_CYAN 0,1,1
7 white COLOR_WHITE 1,1,1
এছাড়াও রঙিন সেটিং ফাংশনের অ-এএনএসআই সংস্করণ রয়েছে ( setb
পরিবর্তে setab
এবং setf
পরিবর্তে)setaf
) যা বিভিন্ন নম্বর ব্যবহার করে, এখানে দেওয়া হয়নি।
tput bold # Select bold mode
tput dim # Select dim (half-bright) mode
tput smul # Enable underline mode
tput rmul # Disable underline mode
tput rev # Turn on reverse video mode
tput smso # Enter standout (bold) mode
tput rmso # Exit standout mode
tput cup Y X # Move cursor to screen postion X,Y (top left is 0,0)
tput cuf N # Move N characters forward (right)
tput cub N # Move N characters back (left)
tput cuu N # Move N lines up
tput ll # Move to last line, first column (if no cup)
tput sc # Save the cursor position
tput rc # Restore the cursor position
tput lines # Output the number of lines of the terminal
tput cols # Output the number of columns of the terminal
tput ech N # Erase N characters
tput clear # Clear screen and move the cursor to 0,0
tput el 1 # Clear to beginning of line
tput el # Clear to end of line
tput ed # Clear to end of screen
tput ich N # Insert N characters (moves rest of line forward!)
tput il N # Insert N lines
tput sgr0 # Reset text format to the terminal's default
tput bel # Play a bell
সঙ্গে Compiz টলমলে জানালা , bel
কমান্ড একটি দ্বিতীয় ব্যবহারকারীর দৃষ্টি আকর্ষণ করার জন্য টার্মিনাল টলিতে টলিতে চলা করে তোলে।
tput
প্রতি লাইনে একটি কমান্ডযুক্ত স্ক্রিপ্টগুলি গ্রহণ করে, যা আগে ক্রমে কার্যকর করা হয় tput
প্রস্থান ।
মাল্টিলাইন স্ট্রিং প্রতিধ্বনি করে এবং পাইপ দিয়ে অস্থায়ী ফাইলগুলি এড়িয়ে চলুন:
echo -e "setf 7\nsetb 1" | tput -S # set fg white and bg red
man 1 tput
man 5 terminfo
কমান্ড এবং এই বিকল্পগুলি আরও বিশদের সম্পূর্ণ তালিকার জন্য। (সংশ্লিষ্ট tput
কমান্ডটি Cap-name
বৃহত্তর টেবিলের কলামে তালিকাভুক্ত হয়েছে যা ৮১ লাইনে শুরু হয়েছে।)$()
হলেন একটি কমান্ড প্রতিস্থাপন । সবগুলি tput af 1
রঙ কোড স্ট্রিং তৈরি করে তবে কোডগুলি মুদ্রণযোগ্য অক্ষর নয়, সুতরাং tput af 1
একা টাইপ করলে আউটপুটের ফাঁকা লাইন তৈরি হয় will
ncurses
tput
রঙগুলির সম্পূর্ণ তালিকার জন্য এই উত্তরটি ইউনিক্স স্ট্যাকএক্সচেঞ্জে দেখুন
reset=`tput sgr0`
থাকা উচিত reset=`tput sgr 0`
।
# Reset
Color_Off='\033[0m' # Text Reset
# Regular Colors
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
Purple='\033[0;35m' # Purple
Cyan='\033[0;36m' # Cyan
White='\033[0;37m' # White
# Bold
BBlack='\033[1;30m' # Black
BRed='\033[1;31m' # Red
BGreen='\033[1;32m' # Green
BYellow='\033[1;33m' # Yellow
BBlue='\033[1;34m' # Blue
BPurple='\033[1;35m' # Purple
BCyan='\033[1;36m' # Cyan
BWhite='\033[1;37m' # White
# Underline
UBlack='\033[4;30m' # Black
URed='\033[4;31m' # Red
UGreen='\033[4;32m' # Green
UYellow='\033[4;33m' # Yellow
UBlue='\033[4;34m' # Blue
UPurple='\033[4;35m' # Purple
UCyan='\033[4;36m' # Cyan
UWhite='\033[4;37m' # White
# Background
On_Black='\033[40m' # Black
On_Red='\033[41m' # Red
On_Green='\033[42m' # Green
On_Yellow='\033[43m' # Yellow
On_Blue='\033[44m' # Blue
On_Purple='\033[45m' # Purple
On_Cyan='\033[46m' # Cyan
On_White='\033[47m' # White
# High Intensity
IBlack='\033[0;90m' # Black
IRed='\033[0;91m' # Red
IGreen='\033[0;92m' # Green
IYellow='\033[0;93m' # Yellow
IBlue='\033[0;94m' # Blue
IPurple='\033[0;95m' # Purple
ICyan='\033[0;96m' # Cyan
IWhite='\033[0;97m' # White
# Bold High Intensity
BIBlack='\033[1;90m' # Black
BIRed='\033[1;91m' # Red
BIGreen='\033[1;92m' # Green
BIYellow='\033[1;93m' # Yellow
BIBlue='\033[1;94m' # Blue
BIPurple='\033[1;95m' # Purple
BICyan='\033[1;96m' # Cyan
BIWhite='\033[1;97m' # White
# High Intensity backgrounds
On_IBlack='\033[0;100m' # Black
On_IRed='\033[0;101m' # Red
On_IGreen='\033[0;102m' # Green
On_IYellow='\033[0;103m' # Yellow
On_IBlue='\033[0;104m' # Blue
On_IPurple='\033[0;105m' # Purple
On_ICyan='\033[0;106m' # Cyan
On_IWhite='\033[0;107m' # White
| | bash | hex | octal | NOTE |
|-------+-------+--------+---------+------------------------------|
| start | \e | \x1b | \033 | |
| start | \E | \x1B | - | x cannot be capital |
| end | \e[0m | \x1m0m | \033[0m | |
| end | \e[m | \x1b[m | \033[m | 0 is appended if you omit it |
| | | | | |
| color | bash | hex | octal | NOTE |
|-------------+--------------+----------------+----------------+---------------------------------------|
| start green | \e[32m<text> | \x1b[32m<text> | \033[32m<text> | m is NOT optional |
| reset | <text>\e[0m | <text>\1xb[0m | <text>\033[om | o is optional (do it as best practice |
| | | | | |
আপনি যদি এই বিশেষ কোডগুলি আপনার বিশেষ ব্যাশ ভেরিয়েবলগুলিতে ব্যবহার করতে যাচ্ছেন
আপনার অতিরিক্ত পালানোর অক্ষর যুক্ত করা উচিত যাতে এটি সজোরে আঘাততাদের সঠিক ব্যাখ্যা করতে পারেন। এটি অতিরিক্ত পালানোর অক্ষরগুলি ছাড়া এটি কাজ করে তবে আপনি যখন Ctrl + r
আপনার ইতিহাসে অনুসন্ধানের জন্য ব্যবহার করবেন তখন সমস্যার মুখোমুখি হবেন ।
আপনার যে \[
কোনও এএনএসআই কোড শুরু করার আগে যুক্ত করা উচিত এবং \]
শেষের কোনও পরে যুক্ত করা উচিত ।
উদাহরণ:
নিয়মিত ব্যবহারে: \033[32mThis is in green\033[0m
PS0 / 1/2/4 এর জন্য: \[\033[32m\]This is in green\[\033[m\]
\[
একটি ক্রম শুরুর জন্য মুদ্রণযোগ্য নয় এমন অক্ষর
\]
একটি অনুক্রম শেষে জন্য মুদ্রণযোগ্য নয় এমন অক্ষর
টিপ: এটি মুখস্ত করার জন্য আপনি প্রথমে যুক্ত করতে পারেন \[\]
এবং তারপরে তাদের এএনএসআই কোড রাখতে পারেন:
- \[start-ANSI-code\]
-\[end-ANSI-code\]
এই রঙগুলিতে ডুব দেওয়ার আগে আপনার এই কোডগুলি সহ 4 টি মোড সম্পর্কে জেনে রাখা উচিত:
এটি রঙের নয় টেক্সটের শৈলীতে পরিবর্তন করে। উদাহরণস্বরূপ রঙটি উজ্জ্বল বা গাer় করুন।
0
রিসেট 1;
স্বাভাবিকের চেয়ে হালকা 2;
স্বাভাবিকের চেয়ে গাer় এই মোডটি ব্যাপকভাবে সমর্থিত নয়। এটি জিনোম-টার্মিনালে সম্পূর্ণ সমর্থন support
এই মোডটি পাঠ্য নয় রঙের স্টাইলটি সংশোধন করার জন্য।
3;
বাঁকা ছাঁদে গঠিত 4;
নিম্নরেখা 5;
জ্বলজ্বলে (ধীর)6;
জ্বলজ্বলে (দ্রুত)7;
বিপরীত 8;
আড়াল 9;
বাতিল করা এবং প্রায় সমর্থিত।
উদাহরণস্বরূপ, কে-ডি-কনসোল সমর্থন করে 5;
তবে জিনোম-টার্মিনাল দেয় না এবং জিনোম সমর্থন করে তবে কে-ডি-কে সমর্থন 8;
করে না।
এই মোডটি অগ্রভাগটি রঙিন করার জন্য।
এই মোডটি ব্যাকগ্রাউন্ডটি রঙ করার জন্য।
নীচের সারণিতে এএনএসআই-বর্ণের 3/4 বিট সংস্করণের সংক্ষিপ্তসার দেখানো হয়েছে
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| color-mode | octal | hex | bash | description | example (= in octal) | NOTE |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 0 | \033[0m | \x1b[0m | \e[0m | reset any affect | echo -e "\033[0m" | 0m equals to m |
| 1 | \033[1m | | | light (= bright) | echo -e "\033[1m####\033[m" | - |
| 2 | \033[2m | | | dark (= fade) | echo -e "\033[2m####\033[m" | - |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| text-mode | ~ | | | ~ | ~ | ~ |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 3 | \033[3m | | | italic | echo -e "\033[3m####\033[m" | |
| 4 | \033[4m | | | underline | echo -e "\033[4m####\033[m" | |
| 5 | \033[5m | | | blink (slow) | echo -e "\033[3m####\033[m" | |
| 6 | \033[6m | | | blink (fast) | ? | not wildly support |
| 7 | \003[7m | | | reverse | echo -e "\033[7m####\033[m" | it affects the background/foreground |
| 8 | \033[8m | | | hide | echo -e "\033[8m####\033[m" | it affects the background/foreground |
| 9 | \033[9m | | | cross | echo -e "\033[9m####\033[m" | |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| foreground | ~ | | | ~ | ~ | ~ |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 30 | \033[30m | | | black | echo -e "\033[30m####\033[m" | |
| 31 | \033[31m | | | red | echo -e "\033[31m####\033[m" | |
| 32 | \033[32m | | | green | echo -e "\033[32m####\033[m" | |
| 33 | \033[33m | | | yellow | echo -e "\033[33m####\033[m" | |
| 34 | \033[34m | | | blue | echo -e "\033[34m####\033[m" | |
| 35 | \033[35m | | | purple | echo -e "\033[35m####\033[m" | real name: magenta = reddish-purple |
| 36 | \033[36m | | | cyan | echo -e "\033[36m####\033[m" | |
| 37 | \033[37m | | | white | echo -e "\033[37m####\033[m" | |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 38 | 8/24 | This is for special use of 8-bit or 24-bit |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| background | ~ | | | ~ | ~ | ~ |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 40 | \033[40m | | | black | echo -e "\033[40m####\033[m" | |
| 41 | \033[41m | | | red | echo -e "\033[41m####\033[m" | |
| 42 | \033[42m | | | green | echo -e "\033[42m####\033[m" | |
| 43 | \033[43m | | | yellow | echo -e "\033[43m####\033[m" | |
| 44 | \033[44m | | | blue | echo -e "\033[44m####\033[m" | |
| 45 | \033[45m | | | purple | echo -e "\033[45m####\033[m" | real name: magenta = reddish-purple |
| 46 | \033[46m | | | cyan | echo -e "\033[46m####\033[m" | |
| 47 | \033[47m | | | white | echo -e "\033[47m####\033[m" | |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
| 48 | 8/24 | This is for special use of 8-bit or 24-bit | |
|------------+----------+---------+-------+------------------+------------------------------+--------------------------------------|
নীচের সারণিতে এএনএসআই-রঙের 8 বিট সংস্করণের সংক্ষিপ্তসার দেখানো হয়েছে
|------------+-----------+-----------+---------+------------------+------------------------------------+-------------------------|
| foreground | octal | hex | bash | description | example | NOTE |
|------------+-----------+-----------+---------+------------------+------------------------------------+-------------------------|
| 0-7 | \033[38;5 | \x1b[38;5 | \e[38;5 | standard. normal | echo -e '\033[38;5;1m####\033[m' | |
| 8-15 | | | | standard. light | echo -e '\033[38;5;9m####\033[m' | |
| 16-231 | | | | more resolution | echo -e '\033[38;5;45m####\033[m' | has no specific pattern |
| 232-255 | | | | | echo -e '\033[38;5;242m####\033[m' | from black to white |
|------------+-----------+-----------+---------+------------------+------------------------------------+-------------------------|
| foreground | octal | hex | bash | description | example | NOTE |
|------------+-----------+-----------+---------+------------------+------------------------------------+-------------------------|
| 0-7 | | | | standard. normal | echo -e '\033[48;5;1m####\033[m' | |
| 8-15 | | | | standard. light | echo -e '\033[48;5;9m####\033[m' | |
| 16-231 | | | | more resolution | echo -e '\033[48;5;45m####\033[m' | |
| 232-255 | | | | | echo -e '\033[48;5;242m####\033[m' | from black to white |
|------------+-----------+-----------+---------+------------------+------------------------------------+-------------------------|
8-বিট দ্রুত পরীক্ষা:
for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done
নীচে সারণি এএনএসআই-রঙের 24 বিট সংস্করণের সংক্ষিপ্তসার দেখায়
|------------+-----------+-----------+---------+-------------+------------------------------------------+-----------------|
| foreground | octal | hex | bash | description | example | NOTE |
|------------+-----------+-----------+---------+-------------+------------------------------------------+-----------------|
| 0-255 | \033[38;2 | \x1b[38;2 | \e[38;2 | R = red | echo -e '\033[38;2;255;0;02m####\033[m' | R=255, G=0, B=0 |
| 0-255 | \033[38;2 | \x1b[38;2 | \e[38;2 | G = green | echo -e '\033[38;2;;0;255;02m####\033[m' | R=0, G=255, B=0 |
| 0-255 | \033[38;2 | \x1b[38;2 | \e[38;2 | B = blue | echo -e '\033[38;2;0;0;2552m####\033[m' | R=0, G=0, B=255 |
|------------+-----------+-----------+---------+-------------+------------------------------------------+-----------------|
| background | octal | hex | bash | description | example | NOTE |
|------------+-----------+-----------+---------+-------------+------------------------------------------+-----------------|
| 0-255 | \033[48;2 | \x1b[48;2 | \e[48;2 | R = red | echo -e '\033[48;2;255;0;02m####\033[m' | R=255, G=0, B=0 |
| 0-255 | \033[48;2 | \x1b[48;2 | \e[48;2 | G = green | echo -e '\033[48;2;;0;255;02m####\033[m' | R=0, G=255, B=0 |
| 0-255 | \033[48;2 | \x1b[48;2 | \e[48;2 | B = blue | echo -e '\033[48;2;0;0;2552m####\033[m' | R=0, G=0, B=255 |
|------------+-----------+-----------+---------+-------------+------------------------------------------+-----------------|
অগ্রভাগ 8-বিট সারাংশ এ .gif
ব্যাকগ্রাউন্ডে 8-বিট সংক্ষিপ্তসার .gif
blinking
কেডিএ-টার্মিনালে
একটি সাধারণ C
কোড যা আপনাকে আরও দেখায়
এই রঙগুলি মোকাবেলায় আমি আরও উন্নত একটি সরঞ্জাম তৈরি করেছি:
হ্যা, তুমি পারো. আমি অভিজ্ঞসজোরে আঘাত, গ, C ++, ঘ Perl, পাইথন
আমার মনে হয়, না।
3/4-বিট হ্যাঁ, আপনি যদি উইন -7-তে কিছু স্ক্রিন-শট দিয়ে কোডটি সংকলন করেনgcc
\033[
= 2, অন্যান্য অংশ 1
কোথাও একটি হয়েছে tty
ব্যাখ্যাকারী
xterm
, gnome-terminal
, kde-terminal
, mysql-client-CLI
ইত্যাদি।
উদাহরণস্বরূপ আপনি যদি নিজের আউটপুটকে মাইএসকিএল দিয়ে রঙিন করতে চান তবে আপনি ব্যবহার করতে পারেনPerl
#!/usr/bin/perl -n
print "\033[1m\033[31m$1\033[36m$2\033[32m$3\033[33m$4\033[m" while /([|+-]+)|([0-9]+)|([a-zA-Z_]+)|([^\w])/g;
এই কোডটি কোনও ফাইলের নামে সংরক্ষণ করুন: pcc
(= পার্ল কালারাইজ ক্যারেক্টার) এবং তারপরে ফাইলটি একটি বৈধ করে রাখুন এবং PATH
আপনার পছন্দ মতো যেখানেই এটি ব্যবহার করুন।
ls | pcc
df | pcc
ভিতরে mysql
প্রথমে এটি নিবন্ধন pager
করুন এবং তারপরে চেষ্টা করুন:
[user2:db2] pager pcc
PAGER set to 'pcc'
[user2:db2] select * from table-name;
এটি ইউনিকোড পরিচালনা করে না ।
না, তারা অনেক মজার কাজ করতে পারে। চেষ্টা করুন:
echo -e '\033[2K' # clear the screen and do not move the position
বা:
echo -e '\033[2J\033[u' # clear the screen and reset the position
এমন অনেক শুরুর সূচনা রয়েছে যা স্ক্রিনটি সাফ করতে চায় system( "clear" )
যাতে আপনি system(3)
কলটির পরিবর্তে এটি ব্যবহার করতে পারেন
হ্যাঁ. \u001b
এটি ব্যবহার করা সহজ 3/4-bit
, তবে এটি ব্যবহার করা অনেক নির্ভুল এবং সুন্দর 24-bit
।
আপনার সাথে অভিজ্ঞতা না থাকলেএইচটিএমএল: তাই এখানে একটি দ্রুত টিউটোরিয়াল
24 বিট মাধ্যম: 00000000
এবং 00000000
এবং 00000000
। প্রতিটি 8-বিট একটি নির্দিষ্ট রঙের জন্য।
1..8
জন্য এবং 9..16
জন্য এবং 17..24
জন্য
তাইএইচটিএমএল #FF0000
মানে এবং এখানে এটি: 255;0;0
ইনএইচটিএমএল #00FF00
যার অর্থ এখানে: এটি 0;255;0
কি বোধগম্য? এই তিনটি 8-বিট মানগুলির সাথে আপনি কী রঙটি যুক্ত করতে চান।
রেফারেন্স:
উইকিপিডিয়া
এএনএসআই এস্কেপ সিকোয়েন্সস
tldp.org
tldp.org
Misc.flogisoft.com
কিছু ব্লগ / ওয়েব-পৃষ্ঠা যা আমার মনে নেই
x1B[
।
ক্ষমতা এবং একটি পরামিতি tput
সঙ্গে ব্যবহার করুন ।setaf
1
echo "$(tput setaf 1)Hello, world$(tput sgr0)"
\033[31m
ভেঙে দেবে ।
i
আরও for (( i = 0; i < 17; i++ )); do echo "$(tput setaf $i)This is ($i) $(tput sgr0)"; done
tput: command not found
(
echo -e "\033[31m Hello World"
[31m
নিয়ন্ত্রণ টেক্সট রঙ:
30
- অগ্রভূমির রঙ 37
নির্ধারণ করে40
- পটভূমির রঙ 47
নির্ধারণ করেরঙ কোডগুলির আরও একটি সম্পূর্ণ তালিকা এখানে পাওয়া যাবে ।
\033[0m
স্ট্রিংয়ের শেষে পাঠ্যের রঙটি পুনরায় সেট করা ভাল অনুশীলন ।
আমি সমস্ত সমাধানগুলিতে ভাল ক্যাচগুলিকে একত্রিত করেছি এবং এর সাথে শেষ করেছি:
cecho(){
RED="\033[0;31m"
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
# ... ADD MORE COLORS
NC="\033[0m" # No Color
printf "${!1}${2} ${NC}\n"
}
এবং আপনি কেবল এটি হিসাবে কল করতে পারেন:
cecho "RED" "Helloworld"
এটি রঙিন সুইচ \033[
। ইতিহাস দেখুন ।
রঙের কোডগুলি1;32
(হালকা সবুজ), 0;34
(নীল), 1;34
(হালকা নীল) ইত্যাদি are
আমরা একটি রং সুইচ সঙ্গে রঙ ক্রম বিনষ্ট \033[
এবং 0m
, কোন -color কোড। ঠিক যেমন একটি মার্কআপ ভাষায় ট্যাবগুলি খোলার এবং বন্ধ করার মতো।
SWITCH="\033["
NORMAL="${SWITCH}0m"
YELLOW="${SWITCH}1;33m"
echo "${YELLOW}hello, yellow${NORMAL}"
সাধারণ রঙ echo
ফাংশন সমাধান:
cecho() {
local code="\033["
case "$1" in
black | bk) color="${code}0;30m";;
red | r) color="${code}1;31m";;
green | g) color="${code}1;32m";;
yellow | y) color="${code}1;33m";;
blue | b) color="${code}1;34m";;
purple | p) color="${code}1;35m";;
cyan | c) color="${code}1;36m";;
gray | gr) color="${code}0;37m";;
*) local text="$1"
esac
[ -z "$text" ] && local text="$color$2${code}0m"
echo "$text"
}
cecho "Normal"
cecho y "Yellow!"
text
পরিবর্তনশীলটি পরিবর্তন করতাম text="$color${@: 2}${code}0m"
রঙের প্যারামিটার বাদে পুরো লাইনটি রঙিন হয়ে যায়।
শুধুমাত্র একটির জন্য রঙ পরিবর্তন করার একটি ঝরঝরে উপায় echo
হ'ল এই জাতীয় ক্রিয়াটি সংজ্ঞায়িত করা:
function coloredEcho(){
local exp=$1;
local color=$2;
if ! [[ $color =~ '^[0-9]$' ]] ; then
case $(echo $color | tr '[:upper:]' '[:lower:]') in
black) color=0 ;;
red) color=1 ;;
green) color=2 ;;
yellow) color=3 ;;
blue) color=4 ;;
magenta) color=5 ;;
cyan) color=6 ;;
white|*) color=7 ;; # white or invalid color
esac
fi
tput setaf $color;
echo $exp;
tput sgr0;
}
ব্যবহার:
coloredEcho "This text is green" green
অথবা আপনি ড্রয়ের উত্তরে উল্লিখিত রঙিন কোডগুলি সরাসরি ব্যবহার করতে পারেন :
coloredEcho "This text is green" 2
-n
প্রতিধ্বনিতে যোগ করেন তবে আপনি এটিকে ইনলাইন রঙ হিসাবে ব্যবহার করতে পারেনecho "Red `coloredEcho "fox" red` jumps over the lazy dog"
tput
রঙ কোড গণনা করতে ব্যবহার করুন । এএনএসআই এস্কেপ কোড (যেমন \E[31;1m
লাল হিসাবে) ব্যবহার করা এড়িয়ে চলুন কারণ এটি কম পোর্টেবল। উদাহরণস্বরূপ, ওএস এক্সে ব্যাশ এটি সমর্থন করে না।
BLACK=`tput setaf 0`
RED=`tput setaf 1`
GREEN=`tput setaf 2`
YELLOW=`tput setaf 3`
BLUE=`tput setaf 4`
MAGENTA=`tput setaf 5`
CYAN=`tput setaf 6`
WHITE=`tput setaf 7`
BOLD=`tput bold`
RESET=`tput sgr0`
echo -e "hello ${RED}some red text${RESET} world"
এই প্রশ্নের উত্তর বারবার দেওয়া হয়েছে :-) তবে কেন হবে না।
tput
ম্যানুয়ালি ASCII কোডগুলি ইনজেক্ট করার চেয়ে আধুনিক পরিবেশে প্রথমে ব্যবহার করা আরও পোর্টেবলecho -E
এখানে একটি দ্রুত বাশ ফাংশন রয়েছে:
say() {
echo "$@" | sed \
-e "s/\(\(@\(red\|green\|yellow\|blue\|magenta\|cyan\|white\|reset\|b\|u\)\)\+\)[[]\{2\}\(.*\)[]]\{2\}/\1\4@reset/g" \
-e "s/@red/$(tput setaf 1)/g" \
-e "s/@green/$(tput setaf 2)/g" \
-e "s/@yellow/$(tput setaf 3)/g" \
-e "s/@blue/$(tput setaf 4)/g" \
-e "s/@magenta/$(tput setaf 5)/g" \
-e "s/@cyan/$(tput setaf 6)/g" \
-e "s/@white/$(tput setaf 7)/g" \
-e "s/@reset/$(tput sgr0)/g" \
-e "s/@b/$(tput bold)/g" \
-e "s/@u/$(tput sgr 0 1)/g"
}
এখন আপনি ব্যবহার করতে পারেন:
say @b@green[[Success]]
পেতে:
tput
tput(1)
1986 সালের সেপ্টেম্বরে প্রথমবারের উত্স কোডটি আপলোড করা হয়েছিল
tput(1)
১৯৯০-এর দশকে এক্স / ওপেন শাপের শব্দার্থবিজ্ঞানে উপলভ্য হয়েছে (১৯৯ standard এর মান নীচে বর্ণিত শব্দার্থবিজ্ঞান রয়েছে)।
সুতরাং, এটি ( বেশ ) সর্বব্যাপী।
tput
? এটি কি এমন বেশিরভাগ সার্ভারগুলিতে উপলব্ধ যেখানে এটি ইনস্টল করার প্রশাসনের অধিকার নেই? এই কৌশলটি প্রথম আবিষ্কার হয়েছিল যেখানে আপনার কোনও লিঙ্ক আছে?
$PS1
ছাড়াই ব্যবহার করছেন বলে \[...\]
? টিপুট স্ট্রিং সহ ব্যাশ পিএস 1 চিহ্নিতকারী ব্যবহার করা চালিয়ে যান।
এই উত্তরের জন্য @ কে-ফাইভকে ধন্যবাদ
declare -A colors
#curl www.bunlongheng.com/code/colors.png
# Reset
colors[Color_Off]='\033[0m' # Text Reset
# Regular Colors
colors[Black]='\033[0;30m' # Black
colors[Red]='\033[0;31m' # Red
colors[Green]='\033[0;32m' # Green
colors[Yellow]='\033[0;33m' # Yellow
colors[Blue]='\033[0;34m' # Blue
colors[Purple]='\033[0;35m' # Purple
colors[Cyan]='\033[0;36m' # Cyan
colors[White]='\033[0;37m' # White
# Bold
colors[BBlack]='\033[1;30m' # Black
colors[BRed]='\033[1;31m' # Red
colors[BGreen]='\033[1;32m' # Green
colors[BYellow]='\033[1;33m' # Yellow
colors[BBlue]='\033[1;34m' # Blue
colors[BPurple]='\033[1;35m' # Purple
colors[BCyan]='\033[1;36m' # Cyan
colors[BWhite]='\033[1;37m' # White
# Underline
colors[UBlack]='\033[4;30m' # Black
colors[URed]='\033[4;31m' # Red
colors[UGreen]='\033[4;32m' # Green
colors[UYellow]='\033[4;33m' # Yellow
colors[UBlue]='\033[4;34m' # Blue
colors[UPurple]='\033[4;35m' # Purple
colors[UCyan]='\033[4;36m' # Cyan
colors[UWhite]='\033[4;37m' # White
# Background
colors[On_Black]='\033[40m' # Black
colors[On_Red]='\033[41m' # Red
colors[On_Green]='\033[42m' # Green
colors[On_Yellow]='\033[43m' # Yellow
colors[On_Blue]='\033[44m' # Blue
colors[On_Purple]='\033[45m' # Purple
colors[On_Cyan]='\033[46m' # Cyan
colors[On_White]='\033[47m' # White
# High Intensity
colors[IBlack]='\033[0;90m' # Black
colors[IRed]='\033[0;91m' # Red
colors[IGreen]='\033[0;92m' # Green
colors[IYellow]='\033[0;93m' # Yellow
colors[IBlue]='\033[0;94m' # Blue
colors[IPurple]='\033[0;95m' # Purple
colors[ICyan]='\033[0;96m' # Cyan
colors[IWhite]='\033[0;97m' # White
# Bold High Intensity
colors[BIBlack]='\033[1;90m' # Black
colors[BIRed]='\033[1;91m' # Red
colors[BIGreen]='\033[1;92m' # Green
colors[BIYellow]='\033[1;93m' # Yellow
colors[BIBlue]='\033[1;94m' # Blue
colors[BIPurple]='\033[1;95m' # Purple
colors[BICyan]='\033[1;96m' # Cyan
colors[BIWhite]='\033[1;97m' # White
# High Intensity backgrounds
colors[On_IBlack]='\033[0;100m' # Black
colors[On_IRed]='\033[0;101m' # Red
colors[On_IGreen]='\033[0;102m' # Green
colors[On_IYellow]='\033[0;103m' # Yellow
colors[On_IBlue]='\033[0;104m' # Blue
colors[On_IPurple]='\033[0;105m' # Purple
colors[On_ICyan]='\033[0;106m' # Cyan
colors[On_IWhite]='\033[0;107m' # White
color=${colors[$input_color]}
white=${colors[White]}
# echo $white
for i in "${!colors[@]}"
do
echo -e "$i = ${colors[$i]}I love you$white"
done
আশা করি এই চিত্রটি আপনাকে আপনার বাশার জন্য রঙ চয়ন করতে সহায়তা করবে: ডি
আপনি যদি ব্যবহার করছেন zsh
বাbash
black() {
echo -e "\e[30m${1}\e[0m"
}
red() {
echo -e "\e[31m${1}\e[0m"
}
green() {
echo -e "\e[32m${1}\e[0m"
}
yellow() {
echo -e "\e[33m${1}\e[0m"
}
blue() {
echo -e "\e[34m${1}\e[0m"
}
magenta() {
echo -e "\e[35m${1}\e[0m"
}
cyan() {
echo -e "\e[36m${1}\e[0m"
}
gray() {
echo -e "\e[90m${1}\e[0m"
}
black 'BLACK'
red 'RED'
green 'GREEN'
yellow 'YELLOW'
blue 'BLUE'
magenta 'MAGENTA'
cyan 'CYAN'
gray 'GRAY'
আমরা টেক্সট এবং ব্যাকগ্রাউন্ড উভয়ের জন্য 24 বিট আরজিবি সত্য রঙ ব্যবহার করতে পারি !
ESC[38;2;⟨r⟩;⟨g⟩;⟨b⟩m /*Foreground color*/
ESC[48;2;⟨r⟩;⟨g⟩;⟨b⟩m /*Background color*/
লাল পাঠ্য এবং সমাপনী ট্যাগ উদাহরণ:
echo -e "\e[38;2;255;0;0mHello world\e[0m"
জেনারেটর:
24-বিট: 16 থেকে 24 বিটের রঙের সাথে "সত্য রঙ" গ্রাফিক কার্ডগুলি সাধারণ হয়ে উঠেছে, এক্সটার্ম, কে-ডি-কে-এর কনসোল পাশাপাশি সমস্ত লিবিভেট ভিত্তিক টার্মিনাল (জিনোম টার্মিনাল সহ) 24-বিট ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড কালার সেটিং https: / /en.wikipedia.org/wiki/ANSI_escape_code#24-bit
আমার স্ক্রিপ্টগুলিতে ব্যবহার করা কি নিরাপদ?
হ্যাঁ! 8 এবং 16 বিট টার্মিনালগুলি কেবল উপলব্ধ প্যালেটের পরিসরে একটি রঙ ফ্যালব্যাক হিসাবে প্রদর্শন করবে, সর্বোত্তম বৈসাদৃশ্য রেখে, কোনও ভাঙ্গন নেই!
এছাড়াও, এএনএসআই কোড 7 এর বিপরীত ভিডিওর কার্যকারিতা কেউ লক্ষ্য করেনি ।
অগ্রভাগ এবং পটভূমির রঙ অদলবদল করে এটি কোনও টার্মিনাল স্কিমের রঙ, কালো বা সাদা ব্যাকগ্রাউন্ড বা অন্যান্য ফ্যানসি প্যালেটগুলিতে পঠনযোগ্য থাকে।
উদাহরণস্বরূপ, লাল পটভূমির জন্য যা সর্বত্র কাজ করে:
echo -e "\033[31;7mHello world\e[0m";
টার্মিনাল অন্তর্নির্মিত স্কিমগুলি পরিবর্তন করার সময় এটি দেখতে কেমন লাগে:
এটি জিআইএফ এর জন্য ব্যবহৃত লুপ স্ক্রিপ্ট।
for i in {30..49};do echo -e "\033[$i;7mReversed color code $i\e[0m Hello world!";done
Https://en.wikedia.org/wiki/ANSI_escape_code#SGR_( নির্বাচন_গ্রাফিক_রেন্ডেশন) _ paraters দেখুন
এই কোডগুলি আমার উবুন্টু বাক্সে কাজ করে:
echo -e "\x1B[31m foobar \x1B[0m"
echo -e "\x1B[32m foobar \x1B[0m"
echo -e "\x1B[96m foobar \x1B[0m"
echo -e "\x1B[01;96m foobar \x1B[0m"
echo -e "\x1B[01;95m foobar \x1B[0m"
echo -e "\x1B[01;94m foobar \x1B[0m"
echo -e "\x1B[01;93m foobar \x1B[0m"
echo -e "\x1B[01;91m foobar \x1B[0m"
echo -e "\x1B[01;90m foobar \x1B[0m"
echo -e "\x1B[01;89m foobar \x1B[0m"
echo -e "\x1B[01;36m foobar \x1B[0m"
এটি বর্ণগুলিকে সমস্ত রঙে ছাপিয়ে দেয়:
echo -e "\x1B[0;93m a \x1B[0m b \x1B[0;92m c \x1B[0;93m d \x1B[0;94m"
লুপের জন্য:
for (( i = 0; i < 17; i++ ));
do echo "$(tput setaf $i)This is ($i) $(tput sgr0)";
done
আপনি যদি কোডটির পঠনযোগ্যতা উন্নত করতে চান তবে আপনি echo
প্রথমে স্ট্রিংটি ব্যবহার করতে পারেন পরে রঙটি যুক্ত করে sed
:
echo 'Hello World!' | sed $'s/World/\e[1m&\e[0m/'
আমি এই বিষয়ে তথ্যটি সন্ধান করার সময় শাকিবা মোশিরির দুর্দান্ত উত্তর পেয়েছি ... তখন আমার ধারণা ছিল ... এবং এটি ব্যবহার করার পক্ষে অত্যন্ত সহজ একটি কার্যক্রমে শেষ হয়েছিল 😁
সুতরাং আমি এটি ভাগ করে নিতে পারি 😉
https://github.com/ppo/bash-colors
ব্যবহার: $(c <flags>)
একটি echo -e
বা ভিতরেprintf
┌───────┬─────────────────┬──────────┐ ┌───────┬─────────────────┬──────────┐
│ Code │ Style │ Octal │ │ Code │ Style │ Octal │
├───────┼─────────────────┼──────────┤ ├───────┼─────────────────┼──────────┤
│ - │ Foreground │ \033[3.. │ │ B │ Bold │ \033[1m │
│ _ │ Background │ \033[4.. │ │ U │ Underline │ \033[4m │
├───────┼─────────────────┼──────────┤ │ F │ Flash/blink │ \033[5m │
│ k │ Black │ ......0m │ │ N │ Negative │ \033[7m │
│ r │ Red │ ......1m │ ├───────┼─────────────────┼──────────┤
│ g │ Green │ ......2m │ │ L │ Normal (unbold) │ \033[22m │
│ y │ Yellow │ ......3m │ │ 0 │ Reset │ \033[0m │
│ b │ Blue │ ......4m │ └───────┴─────────────────┴──────────┘
│ m │ Magenta │ ......5m │
│ c │ Cyan │ ......6m │
│ w │ White │ ......7m │
└───────┴─────────────────┴──────────┘
উদাহরণ:
echo -e "$(c 0wB)Bold white$(c) and normal"
echo -e "Normal text… $(c r_yB)BOLD red text on yellow background… $(c _w)now on
white background… $(c 0U) reset and underline… $(c) and back to normal."
আমার প্রিয় উত্তরটি এখন পর্যন্ত রঙিনএকো।
কেবলমাত্র অন্য একটি বিকল্প পোস্ট করার জন্য, আপনি এই ছোট্ট সরঞ্জামটি এক্সকোল পরীক্ষা করে দেখতে পারেন
https://ownyourbits.com/2017/01/23/colorize-your-stdout-with-xcol/
আপনি এটি গ্রেপের মতো ব্যবহার করেন এবং উদাহরণস্বরূপ এটি প্রতিটি স্টেটের জন্য এটির স্ট্যান্ডিনকে আলাদা রঙের সাথে রঙিন করবে
sudo netstat -putan | xcol httpd sshd dnsmasq pulseaudio conky tor Telegram firefox "[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+" ":[[:digit:]]+" "tcp." "udp." LISTEN ESTABLISHED TIME_WAIT
মনে রাখবেন যে এটি যে কোনও নিয়মিত অভিব্যক্তি গ্রহণ করে যা সেড গ্রহণ করবে।
এই সরঞ্জামটি নিম্নলিখিত সংজ্ঞাগুলি ব্যবহার করে
#normal=$(tput sgr0) # normal text
normal=$'\e[0m' # (works better sometimes)
bold=$(tput bold) # make colors bold/bright
red="$bold$(tput setaf 1)" # bright red text
green=$(tput setaf 2) # dim green text
fawn=$(tput setaf 3); beige="$fawn" # dark yellow text
yellow="$bold$fawn" # bright yellow text
darkblue=$(tput setaf 4) # dim blue text
blue="$bold$darkblue" # bright blue text
purple=$(tput setaf 5); magenta="$purple" # magenta text
pink="$bold$purple" # bright magenta text
darkcyan=$(tput setaf 6) # dim cyan text
cyan="$bold$darkcyan" # bright cyan text
gray=$(tput setaf 7) # dim white text
darkgray="$bold"$(tput setaf 0) # bold black = dark gray text
white="$bold$gray" # bright white text
আমি আমার স্ক্রিপ্টগুলিতে এই পরিবর্তনগুলি ব্যবহার করি
echo "${red}hello ${yellow}this is ${green}coloured${normal}"
এই উত্তরটি প্রসারিত করার জন্য, আমাদের অলসতার জন্য:
function echocolor() { # $1 = string
COLOR='\033[1;33m'
NC='\033[0m'
printf "${COLOR}$1${NC}\n"
}
echo "This won't be colored"
echocolor "This will be colorful"
tput
; এটাই তার জন্য!
tput
জন্য sc
এবং rc
যদিও ব্যবহার করব (কার্সার সংরক্ষণ করুন, কার্সার পুনরুদ্ধার করুন)। যদিও এই উত্তরটি আমাকে "অলস" বলে ডাকে এটি "ব্যবহারিক" বা "সরাসরি বিন্দু" হিসাবে অনুবাদ করা যেতে পারে।
আপনি করতে পারেন বিভিন্ন রঙের সাথে বার্তা আউটপুট প্রদর্শন করতে:
echo -e "\033[31;1mYour Message\033[0m"
-ব্ল্যাক 0; 30 গাark় ধূসর 1; 30
-রেড 0; 31 হালকা লাল 1; 31
-গ্রীন 0; 32 হালকা সবুজ 1; 32
-শূন্য / কমলা 0; 33 হলুদ 1; 33
-ব্লু 0; 34 হালকা নীল 1; 34
- বেগুনি 0; 35 হালকা বেগুনি 1; 35
-সায়ান 0; 36 হালকা সায়ান 1; 36
-লাইট গ্রে 0; 37 সাদা 1; 37
আপনার কাঁচা এএনএসআই নিয়ন্ত্রণ সিকোয়েন্সগুলির উপর অবশ্যই স্পষ্টরূপে ট্রুপ্ট ব্যবহার করা উচিত।
কারণ এখানে প্রচুর পরিমাণে বিভিন্ন টার্মিনাল নিয়ন্ত্রণের ভাষা রয়েছে, সাধারণত কোনও সিস্টেমে একটি মধ্যবর্তী যোগাযোগ স্তর থাকে। প্রকৃত কোডগুলি বর্তমানে সনাক্ত করা টার্মিনাল ধরণের জন্য একটি ডাটাবেসে সন্ধান করা হবে এবং আপনি একটি এপিআই বা (শেল থেকে) একটি আদেশকে মানক অনুরোধগুলি দেন।
এই কমান্ডের এক
tput
।tput
সামর্থ্য নাম এবং যে কোনও পরামিতি নামক সংক্ষিপ্ত সংক্ষিপ্তসারগুলির একটি সেট গ্রহণ করে, যদি উপযুক্ত হয় তবে টার্মিনফো ডাটাবেসে সনাক্ত টার্মিনালের জন্য সঠিক অব্যাহতি সিকোয়েন্সগুলি সন্ধান করে এবং সঠিক কোডগুলি মুদ্রণ করে (টার্মিনালটি আশা করি বুঝতে পারে)।
থেকে http://wiki.bash-hackers.org/scriptting/terminalcodes
এটি বলেছিল, আমি বাশ-টিন্ট নামে একটি ছোট সহায়ক সহায়ক লাইব্রেরি লিখেছি , যা টিপটের উপরে আরও একটি স্তর যুক্ত করে, এটি ব্যবহারকে আরও সহজ করে তোলে (ইমো):
উদাহরণ:
tint "white(Cyan(T)Magenta(I)Yellow(N)Black(T)) is bold(really) easy to use."
আমি আপনার বর্তমান টার্মিনালের সাথে সুনির্দিষ্ট হার্ড কোডিং পলায়ন কোডগুলির পরিবর্তে, আপনার ব্যবহার করা উচিত tput
।
এটি আমার প্রিয় ডেমো স্ক্রিপ্ট:
#!/bin/bash
tput init
end=$(( $(tput colors)-1 ))
w=8
for c in $(seq 0 $end); do
eval "$(printf "tput setaf %3s " "$c")"; echo -n "$_"
[[ $c -ge $(( w*2 )) ]] && offset=2 || offset=0
[[ $(((c+offset) % (w-offset))) -eq $(((w-offset)-1)) ]] && echo
done
tput init
আমি ব্যবহার করছি এই রঙ মুদ্রণের জন্য
#!/bin/bash
#--------------------------------------------------------------------+
#Color picker, usage: printf $BLD$CUR$RED$BBLU'Hello World!'$DEF |
#-------------------------+--------------------------------+---------+
# Text color | Background color | |
#-----------+-------------+--------------+-----------------+ |
# Base color|Lighter shade| Base color | Lighter shade | |
#-----------+-------------+--------------+-----------------+ |
BLK='\e[30m'; blk='\e[90m'; BBLK='\e[40m'; bblk='\e[100m' #| Black |
RED='\e[31m'; red='\e[91m'; BRED='\e[41m'; bred='\e[101m' #| Red |
GRN='\e[32m'; grn='\e[92m'; BGRN='\e[42m'; bgrn='\e[102m' #| Green |
YLW='\e[33m'; ylw='\e[93m'; BYLW='\e[43m'; bylw='\e[103m' #| Yellow |
BLU='\e[34m'; blu='\e[94m'; BBLU='\e[44m'; bblu='\e[104m' #| Blue |
MGN='\e[35m'; mgn='\e[95m'; BMGN='\e[45m'; bmgn='\e[105m' #| Magenta |
CYN='\e[36m'; cyn='\e[96m'; BCYN='\e[46m'; bcyn='\e[106m' #| Cyan |
WHT='\e[37m'; wht='\e[97m'; BWHT='\e[47m'; bwht='\e[107m' #| White |
#-------------------------{ Effects }----------------------+---------+
DEF='\e[0m' #Default color and effects |
BLD='\e[1m' #Bold\brighter |
DIM='\e[2m' #Dim\darker |
CUR='\e[3m' #Italic font |
UND='\e[4m' #Underline |
INV='\e[7m' #Inverted |
COF='\e[?25l' #Cursor Off |
CON='\e[?25h' #Cursor On |
#------------------------{ Functions }-------------------------------+
# Text positioning, usage: XY 10 10 'Hello World!' |
XY () { printf "\e[$2;${1}H$3"; } #|
# Print line, usage: line - 10 | line -= 20 | line 'Hello World!' 20 |
line () { printf -v _L %$2s; printf -- "${_L// /$1}"; } #|
# Create sequence like {0..(X-1)} |
que () { printf -v _N %$1s; _N=(${_N// / 1}); printf "${!_N[*]}"; } #|
#--------------------------------------------------------------------+
সমস্ত মৌলিক রঙগুলি যুদ্ধ হিসাবে সেট করা হয় এবং কিছু ব্যবহারযোগ্য ফাংশন রয়েছে: এক্সওয়াই, লাইন এবং কুই। আপনার মধ্যে একটিতে এই স্ক্রিপ্টটি উত্স করুন এবং সমস্ত বর্ণ বর্ণ এবং ফাংশন ব্যবহার করুন।
আমি তা অর্জনের জন্য সোয়াগ লিখেছি ।
আপনি ঠিক করতে পারেন
pip install swag
এখন আপনি সমস্ত এস্কেপ কমান্ডগুলি কোনও নির্দিষ্ট গন্তব্যটিতে টেক্সট ফাইল হিসাবে ইনস্টল করতে পারেন:
swag install -d <colorsdir>
অথবা এর মাধ্যমে আরও সহজ:
swag install
যা রঙ ইনস্টল করবে ~/.colors
।
হয় আপনি এগুলি ব্যবহার করুন:
echo $(cat ~/.colors/blue.txt) This will be blue
বা এই উপায়, যা আমি আসলে আরও আকর্ষণীয় বলে মনে করি:
swag print -c red -t underline "I will turn red and be underlined"
এসিইনিমাতে এটি পরীক্ষা করে দেখুন !
এখানে একটি সামান্য ছোট স্ক্রিপ্ট, আমি সম্প্রতি একসাথে রেখেছি, এটি "টয়লেট" ব্যবহারের পরিবর্তে কোনও পাইপযুক্ত ইনপুট রঙিন করবে।
File: color.bsh
#!/usr/bin/env bash
## A.M.Danischewski 2015+(c) Free - for (all (uses and
## modifications)) - except you must keep this notice intact.
declare INPUT_TXT=""
declare ADD_LF="\n"
declare -i DONE=0
declare -r COLOR_NUMBER="${1:-247}"
declare -r ASCII_FG="\\033[38;05;"
declare -r COLOR_OUT="${ASCII_FG}${COLOR_NUMBER}m"
function show_colors() {
## perhaps will add bg 48 to first loop eventually
for fgbg in 38; do for color in {0..256} ; do
echo -en "\\033[${fgbg};5;${color}m ${color}\t\\033[0m";
(($((${color}+1))%10==0)) && echo; done; echo; done
}
if [[ ! $# -eq 1 || ${1} =~ ^-. ]]; then
show_colors
echo " Usage: ${0##*/} <color fg>"
echo " E.g. echo \"Hello world!\" | figlet | ${0##*/} 54"
else
while IFS= read -r PIPED_INPUT || { DONE=1; ADD_LF=""; }; do
PIPED_INPUT=$(sed 's#\\#\\\\#g' <<< "${PIPED_INPUT}")
INPUT_TXT="${INPUT_TXT}${PIPED_INPUT}${ADD_LF}"
((${DONE})) && break;
done
echo -en "${COLOR_OUT}${INPUT_TXT}\\033[00m"
fi
তারপরে এটিকে রঙিন লাল (196) দিয়ে কল করুন:
$> echo "text you want colored red" | color.bsh 196
নির্দেশ করে:
echo_red(){
echo -e "\e[1;31m$1\e[0m"
}
echo_green(){
echo -e "\e[1;32m$1\e[0m"
}
echo_yellow(){
echo -e "\e[1;33m$1\e[0m"
}
echo_blue(){
echo -e "\e[1;34m$1\e[0m"
}
এখানে সহজ এবং পঠনযোগ্য সমাধান is বাশজ ( https://sourceforge.net/projects/bashj/ ) এর সাহায্যে আপনি কেবল এই লাইনের একটি বেছে নিতে পারেন:
#!/usr/bin/bash
W="Hello world!"
echo $W
R=130
G=60
B=190
echo u.colored($R,$G,$B,$W)
echo u.colored(255,127,0,$W)
echo u.red($W)
echo u.bold($W)
echo u.italic($W)
Y=u.yellow($W)
echo $Y
echo u.bold($Y)
256x256x256
আপনার টার্মিনাল অ্যাপ্লিকেশনে রঙ সমর্থন থাকলে রঙগুলি উপলব্ধ।
থ্রেড থেকে অন্যান্য সমাধানগুলি মিশ্রন করার পরে আমি এখানে npm scripts
আউটপুট (গিটব্যাশ সিএলআই) রঙ পেতে কীভাবে পরিচালনা করেছি :
{
"deploy": "echo \u001b[1;32m && ng build && echo \u001b[1;0mdeploy {\u001b[1;33mcopy\u001b[1;0m: \u001b[1;32m0% && cp -r -f dist/packaged/* \\\\SERVER-01\\dist\\ && echo \u001b[1;0mdeploy {\u001b[1;33mcopy\u001b[1;0m} \u001b[1;34m\u001b[1;1m100% DEPLOYED"
}
ঠিক সেখানে কিছুটা বাইরে, গ্রেপের মধ্য দিয়ে যাওয়ার ফলে এটি লাল (তবে কেবল লাল) হিসাবে হাইলাইট হবে। আপনি নামযুক্ত পাইপগুলিও ব্যবহার করতে পারেন যাতে আপনার স্ট্রিংটি লাইনের শেষের নিকটে আসে:
grep '.*' --color=always <(echo "foobar")
red='\e[0;31m'
NC='\e[0m' # No Color
echo -e "${red}Hello Stackoverflow${NC}"
এই উত্তরটি সঠিক, বাদে রঙের কলটি কোটের মধ্যে থাকা উচিত নয়।
echo -e ${red}"Hello Stackoverflow"${NC}
কৌতুক করা উচিত।
echo -e '\e[0;31mHello Stackoverflow\e[0m'
। সুতরাং এটি বাশ জন্য একই।