ব্যাশ / শেল স্ক্রিপ্টে ⏰ জাতীয় UTF-8 অক্ষর ব্যবহার করা উচিত?


36

যদি এখানে চালু হয় তবে সাধারণ কম্পিউটারটি আমার মেশিনে প্রত্যাশা অনুযায়ী কাজ করছে bash:

function ⏰(){
 date
}

এটি ব্যবহার করে অন্য লোকদের জন্য সমস্যা হতে পারে, বা এটি সর্বজনীন?

আমি ভাবছি কারণ আমি এই মুহূর্তে অন্য উত্স কোডে এর আগে কখনও দেখিনি।

সম্পাদনা করুন: সীমাহীন সম্ভাবনা রয়েছে, উদাহরণস্বরূপ ইমোজি ব্যবহারের সাথে এটি কোনও ক্রিয়াকলাপের ভূমিকা দ্রুত আলাদা করতে ব্যবহার করা যেতে পারে।

একটি something এমন কিছু যা ফাইল পরিবর্তন করতে বা মুছে ফেলতে পারে, একটি 🔧 যদি এটি প্রক্রিয়াধীন কাজ হয় 📃 একটি ইন্টারেক্টিভ মেনুতে ...

আমি অনুমান করি যে আমাদের সকলের জন্য একটি মানক তৈরি করা উচিত, তবে এটি একটি আকর্ষণীয় ধারণা বলে মনে হচ্ছে।
হতে পারে ~ 5 টি অক্ষরের একটি এলোমেলো রেখা কোডটি কী করছে তা বুঝতে আমাদের অনেক সহায়তা করতে পারে। (অবশ্যই আমাদের সেগুলি কীভাবে পড়তে হবে তা শিখতে হবে))

আরও সম্পাদনা: আমি এটিকে শট দিচ্ছি। আপাতত, আমি যদি আমার সম্পাদকের (বা cat myscript.sh|grep function) আমার সমস্ত ফাংশনগুলি ভাঁজ করি তবে সেগুলি এ জাতীয় দেখাচ্ছে। (আমার ইউনিকোড geanyএখানে বা আমার টার্মিনালের তুলনায় আরও ভাল দেখাচ্ছে ))

function _1(){
function ⬚⬚_2(){
function ⬚⬚⬚_📃_D(){
function ⬚⬚⬚⬚_📃_X(){
function ⬚⬚⬚⬚⬚_📃_Y(){
function ⬚⬚⬚⬚⬚⬚__P(){
function ⬚⬚⬚⬚_📃_Z(){
function ⬚⬚⬚⬚⬚__U(){
function ⬚⬚⬚⬚⬚__O(){

আমি কীভাবে একে অপরের সাথে সম্পর্কিত এবং কীভাবে একটি প্রতীক 📃 / ❓ তাদের ভূমিকা স্পষ্টভাবে পৃথক করতে show / ❓ সম্পর্কিত ফাংশনগুলি দেখানোর জন্য আমি একটি অদ্ভুত ইনডেন্টেশন ব্যবহার করি। (অবশ্যই এটি আমার আসল ফাংশনের নাম নয়, আমি কেবল শেষে একটি এলোমেলো চিঠি রেখেছি, তবে এগুলি ছাড়াও আমরা সম্পর্কগুলি পরিষ্কারভাবে দেখতে পারি))


8
আমি এটি পুনঃসংযোগের কারণে অনিরাপদ বলব, যদি আপনাকে পুরানো সার্ভারে আপনার স্ক্রিপ্টটি ব্যবহার করতে হয় তবে এটি কাজ করতে পারে না কারণ বাশ ইমোজি সমর্থনটি সাম্প্রতিক। তবে সাম্প্রতিক লিনাক্সে এটি সম্ভবত ঠিক আছে।
কিউই

18
@ ইপুর না, এটি ইউনিকোডের জন্য দাঁড়িয়েছে (এবং ইউনিকোডের "ইউনির" নাম সর্বজনীন)।
স্টিফেন কিট

5
আপনি কীভাবে সর্বজনীন হতে চান? সাধারণ ইউটিএফ -8 বনাম ইউটিএফ -16 সমস্যা নিয়ে সাইগউইনে কাজ করে? আধুনিক আইবিএম জেড / ওএস সিস্টেম পরিষেবাদিতে কোনটি এখনও ইবিসিডিক চরসেটের সাথে মোকাবেলা করতে হবে? Historicalতিহাসিক ইউনিক্স কম্পিউটারগুলিতে যা 8-বিট বাইটকে ক্ষুদ্রতম ইউনিট হিসাবে ব্যবহার করে না?
পসিক্স

6
পসিক্স অনুযায়ী ফাংশনগুলির নামগুলি অবশ্যই পোর্টেবল অক্ষর সেট থেকে অক্ষরের সমন্বয়ে তৈরি করা উচিত। যদি "সার্বজনীন" অর্থ "যে কোনও শেল" হয়, তবে এই অর্থে এটি সর্বজনীন হবে না।
কুসালানন্দ

6
যদি আপনি নিজেকে জিজ্ঞাসা করে শেল স্ক্রিপ্টে <যা কিছু> করা নিরাপদ কিনা, উত্তর সম্ভবত সম্ভবত না। মুরগি, না করাও echo $fooনিরাপদ।
মাত্তেও ইটালিয়া

উত্তর:


55

এটির জন্য একটি দরকারী গাইডলাইন হ'ল "পোর্টেবল অপারেটিং সিস্টেম ইন্টারফেস" (পসআইএক্স), বেশিরভাগ ইউনিক্সের মতো সিস্টেমগুলি দ্বারা প্রয়োগ করা মানগুলির পরিবার। বিভিন্ন শেল এবং প্ল্যাটফর্ম জুড়ে সেগুলি ব্যবহারযোগ্য হবে কিনা তা নিশ্চিত করার জন্য পসিক্সের দ্বারা বাধ্যতামূলক বৈশিষ্ট্যগুলিতে শেল স্ক্রিপ্টগুলি সীমাবদ্ধ করা সাধারণত ভাল ধারণা।

"শেল কমান্ড ল্যাঙ্গুয়েজ" এর ফাংশন সংজ্ঞাগুলির স্পেসিফিকেশন অনুসারে :

ফাংশনটির নাম রাখা হয়েছে নাম; অ্যাপ্লিকেশনটি নিশ্চিত করবে যে এটি একটি নাম (আইইইই স্ট্যান্ড 1003.1-2001, বিভাগ 3.230, নাম এর বেস সংজ্ঞা ভলিউমটি দেখুন )। একটি বাস্তবায়ন এক্সটেনশন হিসাবে কোনও ফাংশন নামের অন্যান্য অক্ষরকে মঞ্জুরি দিতে পারে।

একটি "নামের" সংজ্ঞা সংযোগ অনুসরণ করে :

শেল কমান্ড ভাষায়, পোর্টেবল অক্ষর সেট থেকে এককভাবে আন্ডারস্কোর, অঙ্ক এবং বর্ণমালা সমন্বিত একটি শব্দ ।

এই অক্ষর সেটটিতে কেবল U0000 এবং U007E এর মধ্যে অক্ষর রয়েছে।
অতএব "⏰" (U23F0) এর মতো অক্ষরগুলি কোনও পসিক্স-সম্মতিযুক্ত সনাক্তকারীতে বৈধ নয়।

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


18
থাম্বের নিয়ম ভাল ... যদি আপনার স্ট্যান্ডার্ড কীবোর্ডের জন্য কী না থাকে ... এটি ব্যবহার করবেন না।
স্নেকডোক

6
@SnakeDoc youtube.com/watch?v=3AtBE9BOvvk "মান" ইমোজি কীবোর্ড;)
উয়র্ন

9
@ জর্ন হয়ত আমার বলা উচিত ছিল "আপনি যদি সাধারণ খুচরা স্টোর থেকে কীবোর্ড কিনতে না পারেন" ... হ্যাঁ
স্নেকডোক ২

4
@ স্নেকডোক এটি একটি ভাল শুরু - তবে আমি যে কীবোর্ডটিটি টাইপ করছি তার মধ্যে £, €, এবং ¬ সবগুলির জন্য কী রয়েছে যা পোর্টেবল অক্ষর সেটের বাইরে। আরও গুরুতরভাবে, কিছু সহকর্মীর ä, ö, ü, è, é, এবং with এর সাথে কীবোর্ড রয়েছে। এগুলি সমস্ত অক্ষর তবে পোর্টেবল ফাংশন নামের জন্য ভাল নয়।
মার্টিন বোনার

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