როგორ შევცვალოთ ფერები ტერმინალში?!
ამ სტატიაში გესაუბრებით, ლინუქსის ოპერაციულ სისტემაში shell ით მუშაობისას მისი გარსის პარამეტრებში არსებულ PS1 ცვლადის შესახებ.
PS1 ცვლადის მეშვეობით თქვენ შეგიძლიათ შეცვალოთ ტერმინალში ასახული ინფორმაცია მიანიჭოთ მას თქვენთვის სასურველი ფერი და ფორმა.
ნება მომეცით გაჩვენოთ რამდენიმე მაგალითი.
თქვენ შეგიძლიათ ნახოთ თქვენი PS1 ცვადის საწყისი ინფო შემდეგი ბრძანებით
echo "$PS1"
## ან ##
printf "%s\n" "$PS1"
ტერმინალში შეტყობინების სახით გამოიტანს საწყის სტანდარტულ წყობას, რომელიც შეგიძლიათ შეცვალოთ გაზარდოთ ან შეამციროთ თქვენი სურვილისდა მიხედვით
[\u@\h \W]\$
## ან ##
[\e]0;\u@\h: \w\a]$ {debian_chroot:+($debian_chroot)}\u@\h:\w\$
ბრძანების სტრიქონში გამოტანილი სიმბოლოები დეკოდირდება შემდეგნაირად:
- \u: username / მომხმარებელი .
- \h: hostname / მასპინძელი
- \W: Print the base of current working directory. / სამუშაო დირექტორია
- \$: Display # (indicates root user) / მიუთითებს რუთ მომხმარებელს
გარდა საწყისი სტანდარტული მონაცემებისა წარმოგიდგენთ ჩამონათვალს რომელიც სურვილისდა მიხედვით შეგიძლიათ დაამატოთ სტანდარტულ/საწყის ინფორმაციას
- \d თარიღი კვირის დღის თვის ჭრილში
- \j სამუშაო ადგილების რაოდენობა რომელსაც ამჟამად მართავს შელი
- \t საათიანი HH დრო: MM: SS ფორმატით.
- \T 12 საათიანი HH: MM: SS ფორმატით.
- \@ 12 საათიანი am/pm ფორმატით.
- \v Bash- ის ვერსია
- \W basename of $PWD.
- ! ამ ბრძანების ისტორიის ნომერი..
- # ამ ბრძანების ბრძანების ნომერი.
- \n ახალი ხაზი. .
- \r A carriage return.
- \e An escape character (typically a color code).
- \a A bell character.
- \ A backslash.
- [ დაიწყეთ არაბეჭდვითი სიმბოლოების მიმდევრობა (like color escape sequences).
ჩაწერის ასეთი პრინციპი საშუალებას აძლევს bash- ს, სწორად გამოთვალოს/აღიქვას გაწერილი ინფორმაცია - ] დასრულებულია არაბეჭდვითი სიმბოლოების თანმიმდევრობა.
ფერების კოდები:
ტექსტი
- \e[0;30m = Dark Gray
- \e[1;30m = Bold Dark Gray
- \e[0;31m = Red
- \e[1;31m = Bold Red
- \e[0;32m = Green
- \e[1;32m = Bold Green
- \e[0;33m = Yellow
- \e[1;33m = Bold Yellow
- \e[0;34m = Blue
- \e[1;34m = Bold Blue
- \e[0;35m = Purple
- \e[1;35m = Bold Purple
- \e[0;36m = Turquoise
- \e[1;36m = Bold Turquoise
- \e[0;37m = Light Gray
- \e[1;37m = Bold Light Gray
ფონის ფერები
- \e[40m = Dark Gray
- \e[41m = Red
- \e[42m = Green
- \e[43m = Yellow
- \e[44m = Blue
- \e[45m = Purple
- \e[46m = Turquoise
- \e[47m = Light Gray
სანამ დაიწყებთ ცვლილებების შეტანას , გირჩევთ .bashrc ფაილის სარეზერვო ასლის შექმნას .
cp ~/.bashrc ~/.bashrc.bak
PS1 ცვადის ინფოს შესაცვლელად საჭიროა .bashrc ფაილი გახსნათ ტექსტის რედაქტორში
vim .bashrc
გავაკეთოთ მაგალითი: ტექსტის ფერი
გაითვალისწინეთ, გაშვების არაბეჭდვითი სიმბოლოებისთვის [ ], ეს უზრუნველყოფს, რომ readline– ს შეუძლია სწორად ადევნოს თვალი კურსორის პოზიციას. ბოლოს \ e0m აღადგენს ნაგულისხმევ ფერს .
export PS1='[\e[31m]\u@\h:\w[\e[0m] ‘
შევინახოთ და განვაახლოთ /.bashrc ფაილი ამისათვის საჭიროა ტერმინალში გავწეროთ ბრძანება
source ~/.bashrc
ფერების დაყენების ალტერნატიული და უფრო პორტატული მეთოდია tput—ის გამოყენება , ის წაიკითხავს terminfo მონაცემთა ბაზას, ყველა გაშვების კოდის საშუალებით, რაც აუცილებელია თქვენს ტერმინალთან ურთიერთობისთვის.თუ გაშვების მიმდევრობის მყარი კოდირების ნაცვლად იყენებთ tput– ს, შეგიძლიათ დააყენოთ TERM ცვლადი, რომ გააკონტროლოს გამოდის თუ არა ფერების კოდები. ეს ასევე გამომავალს პორტატულად აქცევს ტერმინალებში xterm– ის გარდა.
ფერის კოდები
- Black/შავი = 0
- Red/წითელი = 1
- Green/მწვანე = 2
- Yellow/ყვითელი = 3
- Blue/ცისფერი = 4
- Magenta/მაგენტა = 5
- Cyan/ისფერი = 6
- White/თეთრი = 7
- Reset to default color/ნაგულისხმევი ფერის გადაყენება = 9
- export PS1='[[$magenta]\u[$reset]@[$magenta]\h[$reset]:[$blue]\w[$reset]]\$ ‘
სურვილის შემთხვევაში თქვენ შეგიძლიათ დაფაროთ თქვენი username@hostname
ამისათვის შევდივართ .bashrc ფაილში
vim .bashrc
და ბოლოში ვამატებთ
PS1="\W> "
ვინახავთ და ვანახლებთ .bashrc ფაილს
source ~/.bashrc
იმ შემთვევაში თუ ამ მეთოდით გაგიჭირდათ ცვლილებები განხორციელება შეგიძლიათ გამოიყენოთ PS1 Generator.
დიდი მადლობა ეხა ძერსკი ტერმინალი მაქვს 😎