ব্যাশ প্রম্পটে দুর্দান্ত চিহ্ন এবং অক্ষর


81

আমি কেবল কারও টার্মিনালের স্ক্রিনশট জুড়ে দৌড়েছি:

একটি নক্ষত্র এবং তীর সহ প্রম্পট দেখায় একটি সেশনের স্ক্রিনশট

বাশ প্রম্পটে ব্যবহার করা যেতে পারে এমন সমস্ত চরিত্রের একটি তালিকা আছে, বা কেউ আমাকে তারকা এবং ডান তীরের জন্য চরিত্রটি পেতে পারেন?

উত্তর:


104

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

ইউনিকোডে প্রচুর অক্ষর রয়েছে, তাই ইউনিকোড চার্টগুলির সাহায্যে অনুসন্ধানে আপনাকে সহায়তা করার জন্য এখানে কয়েকটি টিপস দেওয়া হয়েছে:

  • আপনি শ্যাপেক্যাচারে চরিত্রটি আঁকতে চেষ্টা করতে পারেন । এটি আপনি কী আঁকেন তাতে একটি ইউনিকোড চরিত্র সনাক্ত করার চেষ্টা করে।
  • চরিত্রটি কোন ব্লকে রয়েছে তা বোঝার চেষ্টা করতে পারেন For উদাহরণস্বরূপ, সেই অদ্ভুত-প্রতীকী প্রতীক এবং সেই তারাটি বিবিধ প্রতীকগুলির একটি ব্লকে থাকবে; অক্ষরগুলি মোডিফায়ার সহ ল্যাটিন বর্ণগুলির মতো Ǫএবং ıহয়; এটি একটি গাণিতিক প্রতীক, ইত্যাদি।
  • আপনি চরিত্রের বর্ণনায় একটি শব্দ ভাবার চেষ্টা করতে পারেন এবং ইউনিকোড প্রতীকের নাম এবং বিবরণের একটি তালিকাতে এটি অনুসন্ধান করতে পারেন। গুছারাম্প বা কাচারসিলেট সাহায্য করতে পারে।

দ্রষ্টব্য উপর Shapecatcher, আমি পেয়েছিলাম U + এ 2234 সেহেতু জন্য , U + এ 2192 ডানমুখী ARROW জন্য , U + এ 263F MERCURY জন্য এবং U + এ 2605 কালো তারকা জন্য

4.1 বাশ পর্যন্ত ব্যাশ স্ক্রিপ্টে, আপনি এর কোড পয়েন্ট দ্বারা একটি বাইট লিখতে পারেন, তবে কোনও অক্ষর নয়। আপনি যদি .bashrcএনকোডিং পরিবর্তনগুলি ফাইল করার জন্য আপনার নমনীয় পরিবর্তন করতে নন-এএসসিআইআই অক্ষরগুলি এড়াতে চান তবে আপনাকে ইউটিএফ -8 এনকোডিংয়ে এই অক্ষরগুলির সাথে সম্পর্কিত বাইটগুলি প্রবেশ করতে হবে। আপনি echo ∴ → ☿ ★ | hexdump -Cইউটিএফ -8 টার্মিনালটিতে চলার মাধ্যমে হেক্সিডিসিমাল মানগুলি দেখতে পাবেন , যেমন ইউটিএফ -8 এ এনকোড করা \xe2\x88\xb4আছে।

if [[ $LC_CTYPE =~ '\.[Uu][Tt][Ff]-?8' ]]; then
  PS1=$'\\[\e[31m\\]\xe2\x88\xb4\\[\e[0m\\]\n\xe2\x86\x92 \xe2\x98\xbf \\~ \\[\e[31m\\]\xe2\x98\x85 $? \\[\e[0m\\]'
fi

বাশ ৪.২, যেহেতু আপনি স্ট্রিংয়ের \uপরে ৪ টি হেক্সাডেসিমাল সংখ্যা ব্যবহার করতে পারেন $'…'

  PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'

হুম। আমি যখন চালানো echo ★ | hexdump -C1, আমি পাবেন: hexdump: invalid option -- '1'। অনুরোধে এটি 1 ছাড়া এখনও কাজ করবে?
নাফটুলি কে

2
@ টি কেকোচরান এটি 1টাইপো ছিল, এটি কেবল hexdump -C(বা hdকিছু সিস্টেমে সংক্ষিপ্তসার জন্য)।
গিলস

এছাড়াও, আপনি এটি করতে পারেন: PS1=$'\u2234\u2192\u263f\u2605'বজায় রাখা সহজ বোধ করে :-)
ম্যাচ

1
শ্যাপাচ্যাচার দুর্দান্ত! এটি
দেখানোর

1
@ ফাইথরাইপার \uNNNNসিনট্যাক্সটি উদ্ধৃতকরণের বৈশিষ্ট্য $'…', প্রম্পট প্রসারণ নয়। এর মানটি PS1অবশ্যই ইউনিকোড অক্ষর ধারণ করে। $'\u1234'ইউনিকোড চরিত্রটিকে স্ট্রিংয়ে রাখার একটি উপায়।
গিলস

12

আপনি প্রচুর সাইটে ইউনিকোড প্রতীক খুঁজে পেতে পারেন, এটির মতো: http://panmental.de/symbols/info.htm

আপনাকে কেবল নিশ্চিত করতে হবে যে আপনার শব্দটি ইউটিএফ -8 সমর্থন করে


কীভাবে আমি এই চরিত্রগুলির মধ্যে একটির হাত থেকে বাঁচব? অর্থাৎ\u27A4
নাফটুলি কে

2
: @Gilles উত্তর, বা এই দেখুন stackoverflow.com/questions/602912/...
jasonwryan

আপনি utf8-chartable.de এ 65000+ ইউনিকোড পয়েন্টগুলি দেখতে পাবেন (কোড পয়েন্টের মানগুলির প্রসঙ্গে "utf8" "ইউনিকোড" এর সমার্থক শব্দ।)
সোনারিলকস

4

আমি এই সরঞ্জামগুলি ব্যবহার করতে পছন্দ করি - তাদের একটি দুর্দান্ত অভিজ্ঞতা রয়েছে এবং এর মাধ্যমে অনুসন্ধান করা সহজ:

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