আমি এমওটিডিতে রঙগুলি কীভাবে ব্যবহার করব?


17

আমি ডিফল্ট/etc/update-motd.d/00-header সম্পাদনা করেছি , এটি পড়া সহজ করার জন্য কিছু রঙ যুক্ত করেছে:

printf "Welcome to \e[1;34m%s\e[0m \e[2m(%s %s %s)\e[0m\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)" "$(uname -m)"

আমি কোডের সেই লাইনটি টার্মিনালে ঠিকঠাক চালাতে পারি, তবে আমি যখন 00-headerএই তথ্যটি সম্পাদনা করি, তখন আমি পালাবার কোডগুলি সরলরেখায় মুদ্রিত হয়ে পাই:

Welcome to \e[1;36mUbuntu 13.10\e[0m \e[2m(GNU/Linux 3.11.0-23-generic i686)\e[0m

দিনের বার্তায় আমি কীভাবে একটি স্প্ল্যাশ রঙ যুক্ত করতে পারি?


আপনি কীভাবে ফাইলটি সম্পাদনা করেছেন, বিশেষত মুদ্রণযোগ্য অক্ষরগুলি?
ভোলকার সিগেল

ইন picoআমি প্রথম লাইন কোড ণ যে আমি আমার উদাহরণে অন্তর্ভুক্ত মাধ্যমে কোডের বিদ্যমান লাইন প্রতিস্থাপন করা হয়। সমস্যাটি হ'ল এমওটিডি পার্সার তারপরে \eএবং পরবর্তী অক্ষরগুলিকে বিশেষ অক্ষরের পরিবর্তে প্লেইন-পাঠ্য হিসাবে বিবেচনা করবে ।
আইকিউ আন্দ্রেয়াস

আপনি প্রকৃতপক্ষে উবুন্টুতে থাকা লিঙ্কযুক্ত ফাইলের কপিরাইট শিরোনামের কাছ থেকে আমি দেখতে পাচ্ছি, সুতরাং আমি সম্পর্কিত ট্যাগ যুক্ত করব, কারণ এটি উত্তর দেওয়ার জন্য প্রাসঙ্গিক (ব্যবহৃত শেল সম্পর্কিত, আমার উত্তর দেখুন)।
ভোলকার সিগেল

উত্তর:


11

ধরে নিচ্ছি আপনি উবুন্টুতে রয়েছেন - যা সিস্টেম স্ক্রিপ্টগুলি চালাতে ড্যাশ ব্যবহার করে:

এই ফাইলটি, /etc/update-motd.d/00-headerসম্পাদন করা হয় /bin/dash, (না /bin/bash,) যা বেশ নমনীয় (এবং দ্রুত) -
এটি মনে হয় এই জায়গায় "\ e" সমর্থন করে না - পরিবর্তে "\ 033" ব্যবহার করুন।

যখন পালানোর কোডগুলি প্রসারিত করা যায় তখন এটি আলাদা।


4

ডেবিয়ান / উবুন্টুতে motdকনফিগার করা আছে /etc/pam.d/sshd:

session    optional     pam_motd.so  motd=/run/motd.dynamic
session    optional     pam_motd.so noupdate

যার অর্থ সফল লগইন করার পরে সিস্টেমটি এরকম কিছু চালাবে:

cat /run/motd.dynamic
if [[ -f /etc/motd ]]; then cat /etc/motd; fi

/etc/motdস্থির অংশটি কোথায় (কেবল মুদ্রিত, উত্সাহীন নয়)।

দেবিয়ান 9 / উবুন্টু 16.04 :

গতিশীল অংশ run-partsতৈরির জন্য /etc/update-motd.dডিরেক্টরি ব্যবহার করা হয় :

/usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --lsbsysinit /etc/update-motd.d

কিছুটা বেশি পঠনযোগ্য কোডের জন্য আপনি ব্যবহার করতে পারেন tput setaf {color number}। নোট করুন যে রঙগুলি সংরক্ষণ করতে আমাদের TERMভেরিয়েবল সেট করতে হবে ।

#!/bin/sh
export TERM=xterm-256color

read one five fifteen rest < /proc/loadavg
echo "$(tput setaf 2)
Kernel: `uname -v | awk -v OFS=' ' '{print $4, $5}'`
$(tput setaf 4)Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
$(tput setaf 5)
 ______________
< Hello World! >
 --------------
        \\   ^__^
         \\  (oo)\\_______
            (__)\\       )\\\/\\
                ||----w |
                ||     ||

$(tput sgr0)"

যেমন ফাইল সংরক্ষণ করুন /etc/update-motd.d/10-uname

এবং নিশ্চিত করুন যে এটি কার্যকরযোগ্য:

chmod +x /etc/update-motd.d/10-uname

বেসিক রঙগুলি নম্বরযুক্ত:

  • 1 - লাল
  • 2 - সবুজ
  • 3 - হলুদ
  • 4 - নীল
  • 5 - ম্যাজেন্টা
  • 6 - সায়ান
  • 7 - সাদা

উপরের কোডটি উত্পন্ন: বাশ রঙের মোড

আপনার স্বাদের উপর নির্ভর করে আপনি lolcatএখান থেকে শিরোনাম ব্যবহার করে আরও রঙিন আউটপুট উত্পাদন করতে পারেন figlet। উত্পন্ন আউটপুট স্ট্যান্ডার্ড বাশ সিনট্যাক্স ব্যবহার করে:

^[(B^[[m
^[[32m
Kernel: 4.9.65-3+deb9u2 (2018-01-04)
^[[34mLoad Averages......: 0.04, 0.05, 0.05 (1, 5, 15 min)
^[[35m
 ______________
< Hello World! >
 --------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

^[(B^[[m

দেবিয়ান 8 / উবুন্টু 14.04

ডায়নামিক অংশটি /etc/init.d/motd startনিম্নলিখিতটি কার্যকর করে ব্যবহার করে আপডেট করা হয় :

uname -snrvm > /var/run/motd.dynamic
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.