ইকো কমান্ডে ফন্ট পরিবর্তন করুন


16

ইকো আউটপুটের ফন্টের বৈশিষ্ট্যগুলি zsh বা বাশের মধ্যে পরিবর্তন করা কি সম্ভব?

আমি যা চাই তা হ'ল অনুরূপ:

echo -n "This is the font: normal "
echo -n $font=italic "italic,"
echo -n $font=bold "bold,"
echo -n "and"
echo -n $font=small "small".

যাতে এটি মুদ্রণ করে: "এটি হরফ: সাধারণ, তির্যক , সাহসী , ছোট " পাঠ্যের একটি লাইনের মধ্যে।


এটি ব্যবহৃত শেলের চেয়ে প্রশ্নটিতে টার্মিনাল এমুলেটারের সাথে আরও বেশি কিছু করতে পারে। এই প্রশ্ন থ্রেডে কিছু মূল্যবান পয়েন্টার রয়েছে, আমি মনে করি
sr_

সাধারণত, আপনি ফন্টের আকার পরিবর্তন করতে পারবেন না। কেবলমাত্র আপনি যা করতে পারেন তা হ'ল রঙ পরিবর্তন এবং কখনও কখনও গা bold় / আন্ডারলাইন বৈশিষ্ট্য। এর জন্য, আপনি এএনএসআই অব্যাহতি ক্রম ব্যবহার করতে পারেন। উদাহরণস্বরূপ bashguru.com/2010/01/ Shell-colors-colorizing- Shell-scriptts.html দেখুন কয়েকটি উদাহরণের জন্য।
জোফেল

উত্তর:


15

বেশিরভাগ ক্ষেত্রে যদি সমস্ত টার্মিনাল এমুলেটর না হয় তবে আপনি বিভিন্ন ফন্টের আকার বা বিভিন্ন ফন্ট সেট করতে পারবেন না, কেবল রঙ এবং কয়েকটি বৈশিষ্ট্য (গা bold়, আন্ডারলাইন করা, স্ট্যান্ডআউট)।

ব্যাশে (বা জেডএস বা অন্য কোনও শেলের মধ্যে), আপনি সরাসরি টার্মিনাল এস্কেপ সিকোয়েন্সগুলি ব্যবহার করতে পারেন (কয়েকটি বহিরাগত ছাড়াও, সমস্ত টার্মিনাল এই দিনগুলিতে এক্সটারের সীসা অনুসরণ করে)। CSIহয় ESC [, লিখিত $'\e['ব্যাশ হবে। বৈশিষ্ট্য পরিবর্তন করতে পালানোর ক্রমটি হ'ল CSI Ps m

echo $'\e[32;1mbold red\e[0mplain\e[4munderlined'

Zsh এর জন্য একটি সুবিধাজনক ফাংশন রয়েছে

autoload -U colors
colors
echo $bold_color$fg[red]bold red${reset_color}plain$'\e'$color[underline]munderlined

16

আপনি এই বর্ণ সংজ্ঞাটি কোনও স্ক্রিপ্ট বা উত্স ফাইলে অন্তর্ভুক্ত করতে পারেন। এই মত কিছু দেখতে পারে।

#!/bin/bash
PATH=/bin:/usr/bin:

NONE='\033[00m'
RED='\033[01;31m'
GREEN='\033[01;32m'
YELLOW='\033[01;33m'
PURPLE='\033[01;35m'
CYAN='\033[01;36m'
WHITE='\033[01;37m'
BOLD='\033[1m'
UNDERLINE='\033[4m'

echo -e "This text is ${RED}red${NONE} and ${GREEN}green${NONE} and ${BOLD}bold${NONE} and ${UNDERLINE}underlined${NONE}."

tput sgr0

লক্ষ্য করুন যে প্রতিবারের মতো আপনি যখন পরিবর্তনটি চান তখন আপনার ANSI রঙ কোডগুলি পুনরায় সেট করা উচিত। tput sgr0রিসেট সমস্ত পরিবর্তন আপনি টার্মিনালে করেছেন।

আমি বিশ্বাস করি যে ফন্টের আকার বা ইটালিকগুলি আপনি যে টার্মিনালটি ব্যবহার করছেন তা সুনির্দিষ্ট হবে।

যদিও এই গাইডটি আপনার ব্যাশ প্রম্পটটি কাস্টমাইজ করার জন্য নির্দিষ্ট, এটি রঙ কোডগুলির জন্য একটি ভাল রেফারেন্স এবং আপনি কী করতে পারেন তার কিছু ধারণা উত্পন্ন করে।


5

দেখে মনে হচ্ছে লেআউটটি [0x1b]-চ্যারাক্টারের সামনে পরিচালনা করতে পারে না [

প্রথম লাইনটি সাহসী করে:

 echo -e "\x1b[1m bold"
     echo -e "\x1b[30m black"
     echo -e "\x1b[31m red"
     echo -e "\x1b[32m green"
     echo -e "\x1b[33m yellow"
     echo -e "\x1b[34m blue"
     echo -e "\x1b[35m mag"
     echo -e "\x1b[36m cyan"
     echo -e "\x1b[37m white"   

সাধারণ ধরণের জন্য, আমি কেবল জানি

echo -e "\x1b[0m io-std"
echo -e "\x1b[1m bold"
echo -e "\x1b[2m normal"

এবং মন্তব্যগুলি থেকে, ধন্যবাদ manatwork এবং জিপসিকোসমোনট:

echo -e "\x1b[3m italic"
echo -e "\x1b[4m underlined"
echo -e "\x1b[5m blinking"
echo -e "\x1b[7m inverted"

এবং io-std এবং সাধারণের মধ্যে পার্থক্যটি জানেন না।

আমি খোলসে তির্যক বা ছোট কিছু দেখিনি।

আপনি এটির (খুব manatwork ধন্যবাদ) তাদের প্রবেশ করতে পারেন Ctrl + + v ESC ব্যাশ, যেখানে এটি হিসেবে প্রদর্শিত হবে মধ্যে ^[। এর অর্থ পুরো এএনএসআই ক্রমটি দেখতে হবে ^[[1m boldবা ^[[1mbold('সাহসী' হওয়ার আগে ফাঁকা এড়ানোর জন্য)।

অনেক সম্পাদককে (চর) 0x1 বি দিয়ে সমস্যা হয়। বিকল্প: এটি কোথাও থেকে অনুলিপি / আটকান, বা ব্যবহার করুন

echo -e "\x1b[1m bold"

ব্যাশ, বা একটি হেক্স সম্পাদক।


1
এস্কেপ অক্ষর পারেন টাইপ করতে: জন্য Ctrl + ফাইভ Esc চাপুন। ("^ [" হিসাবে প্রদর্শিত হবে This এর অর্থ পুরো এএনএসআই ক্রমটি "^ [[1 মোল্ড" এর মতো দেখাবে)))
ম্যানটাকর্ম

1
আরও উল্লেখ করার মতো আরও বৈশিষ্ট্য রয়েছে: \e[4mআন্ডারলাইন করা, \e[5mঝলকানো, \e[7mবিপরীত।
manatwork

@ মান্যাটওয়ার্ক: এগুলি যুক্ত করেছে।
ব্যবহারকারী অজানা

@ ইউজারুননড আপনার কোডটি নিয়ে সাহায্য করার জন্য ধন্যবাদ, আমি খুঁজে পেয়েছি যে echo -e "\x1b[3m italic"
ইটালিকটি

0

এখানে:

http://en.wikipedia.org/wiki/ANSI_escape_code

(দ্রষ্টব্য: তাদের মধ্যে বেশিরভাগই সাধারণত কাজ করে না, তবে এর বেশিরভাগই এইভাবে চিহ্নিত থাকে))

আমি টার্মিনালে একটি গেম তৈরি করছি এবং উপরের লিঙ্কটিতে প্রচুর নির্ভর করছি। এমনকি এটি আপনাকে কীভাবে কার্সারটি আড়াল / গোপন রাখতে হবে, রঙ (30 এর), "গা bold়" (হালকা), গাer়, নিম্নরেখাঙ্কিত, তির্যক, পটভূমির রঙ (30 এর পরিবর্তে 40 এর) ইত্যাদি তৈরি করতে পারে ইত্যাদিও আপনি কার্সারের অবস্থান পরিবর্তন করতে পারেন ( যা খুব সহায়ক - উদাহরণস্বরূপ, "\x1B[1A"কার্সারটিকে এক লাইনের উপরে "\x1B[0;0H"সরিয়ে দেয় ; কার্সারটিকে সারি 0, কর্নেল 0 তে সরিয়ে দেয়; "\x1B[2J"স্ক্রিন "\x1B[2K"সাফ করে ; লাইন সাফ করে।

আপনার উদ্দেশ্যে যেমন লোকেরা বলেছে:

echo -e "\x1b[30;44m black with blue background \x1b[m"

echo -e "\x1b[31;42m red with green background \x1b[m"

echo -e "\x1b[32;40m green with black background \x1b[m"

echo -e "\x1b[8m Invisible; na na na na boo boo \x1b[m"

নোট: আপনি প্রয়োজন-e মধ্যে

echo **-e** "\x1b[35;1m Light purple \x1b[m"

অথবা আপনার একক উদ্ধৃতি ব্যবহার করা দরকার। man echoদেখতে টাইপ করুন (মুদ্রণের সময় ডাবল কোটগুলি সাধারণত একটি ব্যথা হয়; যখন আমার প্রসারিত না হওয়ার জন্য স্টাফ প্রয়োজন হয় বা আমার এএনএসআই অব্যাহতি ক্রমগুলি প্রয়োজন হয়, আমি একক উদ্ধৃতি ব্যবহার করি কারণ এটি সহজ - যদিও আমি এতবার এটি করতে অভ্যস্ত হয়েছি) - ভুলে যাওয়া -e যে ক্ষেত্রে আপনি পেতে " box with numbers and letters[35; 1 মি")।

প্রতিবার আপনি CSIএটি "\x1b["(বা "\e["বা "\u1b[") দিয়ে প্রতিস্থাপন করুন । "\x1b["আমি মনে করি আরও মানিক, তবে তাদের মধ্যে পার্থক্য কী তা সত্যই আমি জানি না।


আপনি যদি অতিরিক্ত অক্ষরগুলি দিয়ে আপনার স্ট্রিংগুলিকে
চাঙ্গা

পছন্দ করেছেন আমি মনে করি আপনি সম্ভবত "ব্যবহার \ ই" বলতে চাইছেন। তবে, আমি যা পেয়েছি তার \eচেয়ে কম সমর্থিত \x1b। করণীয় সর্বোত্তম জিনিসটি হয় হয় esc=$'\e'বা esc=$'\x1b'(এটি ব্যাশে রয়েছে) এবং তারপরে ব্যবহার করুন "${esc}[34;1m"(উদাহরণস্বরূপ, উজ্জ্বল নীল)। সত্যিকারের বাশ প্রম্পট স্ট্রিংয়ের জন্য আমার এখানে একটি অর্ধ-জটিল উদাহরণ রয়েছে ( github.com/dylnmc/ps1porn/blob/master/powerline.sh );) দয়া করে রেপুর নামটি ক্ষমা করুন - আপনি ফ্রিনোডের চ্যানেলে লোককে ধন্যবাদ জানাতে পারেন # তার জন্য আর্চলিনাক্স-অফটোপিক।
ডিলান

করার কারণ esc=$'\e'হ'ল এটি বাশকে ঘটনাস্থলে আন্সি-পালানোর চরিত্র তৈরি করতে দেয় এবং আপনি কয়েকটি উপায়ে এটি থেকে উপকৃত হন। কখনও কখনও, আসলে, (যেমন GitHub লিংক প্রদর্শিত হয়), আপনি আছে সঠিকভাবে প্রদর্শিত করতে রঙ পেতে অনুক্রমে এই পদ্ধতি ব্যবহার করতে। শ্যাশ শেলের পাশাপাশি বাশনের পুরানো সংস্করণগুলির জন্য, রঙটি দেখানোর জন্য আপনার এই পদ্ধতিটি ব্যবহার করা উচিত (তবে দরকার নেই) ... মঞ্জুর করা হয়েছে যে টার্মিনালটি বেশিরভাগ আধুনিক টার্মিনালগুলি করে এমন পালানোর ক্রম ব্যবহার করে।
ডিলান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.