শেল স্ক্রিপ্টগুলিতে ভেরিয়েবলের জন্য নামকরণের সম্মেলন রয়েছে?


113

বেশিরভাগ ভাষায় ভেরিয়েবলের নামকরণের কনভেনশন রয়েছে, শেল স্ক্রিপ্টগুলিতে আমি দেখতে সবচেয়ে সাধারণ শৈলী MY_VARIABLE=foo। এটি কি কনভেনশন বা এটি কেবল বৈশ্বিক চলকগুলির জন্য? স্ক্রিপ্টের স্থানীয় ভেরিয়েবল সম্পর্কে কী?


1
আমি কেবল যেটি জানি যার মধ্যে প্রত্যেকের অনুসরণ করা উচিত সমস্ত বড় হাতের নাম শেলের জন্য সংরক্ষণ করা উচিত। ভবিষ্যতে দুর্ঘটনাক্রমে গুরুত্বপূর্ণ কিছু PATHবা HOMEশেলটি সংরক্ষণ করা যেতে পারে এমন কোনও কিছুকে দুর্ঘটনাক্রমে ক্লোবারিং এড়ানোর জন্য এগুলি ব্যবহার করবেন না ।
jw013

3
আসলে, সমস্ত বড় নাম সাধারণত পরিবেশের ভেরিয়েবলের জন্য ব্যবহৃত হয়। কিছু ভেরিয়েবল (যেমন PATH) শেল দ্বারা ব্যাখ্যা করা হয়, অন্যরা (ভাষা বা PRINTER এর মতো) অন্যান্য প্রোগ্রাম দ্বারা ব্যাখ্যা করা যেতে পারে, তবে এগুলি সম্পর্কে বিশেষ কিছু নেই।
jlp

'পরিবেশের ভেরিয়েবল' প্রকৃতপক্ষে যথাযথ নাম, আমি এটি আমার উত্তরে অন্তর্ভুক্ত করব।
জিপ্পি

অনুমোদনযোগ্য না হলেও এই গুগল গাইডের ভাল পরামর্শ রয়েছে: google.github.io/styleguide/shell.xml । এটি কেবল ধ্রুবক এবং রফতানি ভেরিয়েবলগুলির জন্য সমস্ত ক্যাপের সাথে লেগে থাকার পরামর্শ দেয়, অন্য কিছুর জন্য সাপের ক্ষেত্রে। ব্যক্তিগতভাবে আমি আমার গ্লোবালগুলির জন্য উটের মামলা পছন্দ করি যেহেতু অন্য কেউ এটির প্রস্তাব দেয় না, যা নামকরণের সংঘর্ষের সম্ভাবনা হ্রাস করে। প্লাস আমি তাদের পড়ার পদ্ধতি পছন্দ করি।
বাইনারি ফিলি

উত্তর:


111

অপারেটিং সিস্টেম বা শেল স্টার্টআপ স্ক্রিপ্ট ইত্যাদির মাধ্যমে পরিবেশগত ভেরিয়েবল বা শেল ভেরিয়েবলগুলি সাধারণত চালু থাকে CAPITALS

আপনার নিজের ভেরিয়েবলগুলি এই ভেরিয়েবলগুলির সাথে বিরোধ থেকে রোধ করতে এটি ব্যবহার করা ভাল অনুশীলন lower case


32
lower_caseআন্ডারস্কোর বিচ্ছিন্ন নাকি camelCase?
গ্যারিট হল

3
@ গ্যারেটহল এটি সম্পূর্ণরূপে আপনার উপর নির্ভর করে। একবার আপনি এটির সাথে একটি লাঠি বাছাই করুন। সামঞ্জস্যতা প্রকৃত পছন্দের চেয়ে গুরুত্বপূর্ণ।
jw013

2
আগ্রহের বস্তু? আমি ব্যক্তিগতভাবে সি-স্টাইলটি পছন্দ করি camelCaseকারণ এটি খাটো এবং কুৎসিত আন্ডারস্কোর ব্যবহার করে না। স্বাদ, স্টাইল, ...
জিপ্পি

19
আগ্রহের বস্তু? আমি ব্যক্তিগতভাবে আন্ডারস্কোর পৃথক, পড়া সহজ।
janos

4
সম্পূর্ণতার জন্য বিভিন্ন পরিবেশের সাধারনত সব বড় হাতের শেল পরিবর্তনশীল নামের একমাত্র বিভাগ হয় না - এই নিয়ম এছাড়াও builtins ক্ষেত্রে প্রযোজ্য (যেমন PWD, PS4অথবা BASH_SOURCE)।
চার্লস ডাফি

62

হ্যাঁ, ব্যাশের জন্য ভেরিয়েবলের নাম সহ পুরো কোড স্টাইলের সম্মেলন রয়েছে। উদাহরণস্বরূপ, এখানে গুগলের শেল স্টাইল গাইড

পরিবর্তনশীল নামের জন্য বিশেষত:

চলক নাম : লোয়ার-কেস, পৃথক শব্দের আন্ডারস্কোর সহ। উদা:my_variable_name

ধ্রুবক এবং পরিবেশের পরিবর্তনশীল নাম : ফাইলের শীর্ষে ঘোষিত আন্ডারস্কোর দ্বারা পৃথক করা সমস্ত ক্যাপ। উদা:MY_CONSTANT


1
উপরের লিঙ্কটি এখন মারা গেছে, তবে আমি বিশ্বাস করি এটি এটির সাথে লিঙ্ক করেছে: google.github.io/styleguide/shell.xml
স্যাম

1
@ স্যাম, আপনাকে ধন্যবাদ হ্যাঁ, এটি। গুগলকোড.কম লোল ব্যবহার করা বন্ধ করার প্রায় সময়টিই
আনোনেজ

1
না আপনি সবসময় Google কী বলছেন না? ;-)
টিম.রোহার

1
এই কনভেনশনটি কেবল তাদের নিজস্ব ওপেন সোর্স প্রকল্পগুলির জন্য গুগল রয়েছে: যদিও তারা খুব ভাল নিয়ম হতে পারে তবে এটি সমস্ত প্রকল্পের জন্য প্রয়োগ করতে পারেনি ।
smonff

1

পৃথক শব্দ বোঝার জন্য সবচেয়ে ভাল উপায় বলে মনে হচ্ছে।
আমি যখন বিনা দ্বিধায় পছন্দ করতে পারি তখন উট কেসের চেয়ে সাপ_কেস পছন্দ করার কয়েকটি কারণ রয়েছে:

  1. নমনীয়: আপনি আপার কেস এবং লোয়ার কেস (যেমন MY_CONSTANTএবং my_variable) ব্যবহার করতে পারেন ;
  2. সামঞ্জস্যপূর্ণ: সংখ্যাগুলি আরও পাঠযোগ্য (উদাহরণস্বরূপ 1_000_000_000) তৈরি করতে অঙ্কগুলি পৃথক করা যায় এবং এই বৈশিষ্ট্যটি অনেকগুলি প্রোগ্রামিং ভাষায় সমর্থিত হয়;
  3. সাধারণ: বিন্দুতে রেজেক্স \wশব্দের অক্ষর এবং সংখ্যাগুলির মতো আন্ডারস্কোরগুলি পরিচালনা করে ( [a-zA-Z0-9_])।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.