শেল নির্দিষ্ট নয় কি?


9

কিছু উত্তরের অধীনে, আমি এমন মন্তব্যগুলি দেখতে পাই যা উত্তরে শেল নির্দিষ্ট কমান্ডগুলি এড়ানোর পরামর্শ দেয়।

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

  • man builtinsকমান্ডের একটি তালিকা দেয়। পোর্টেবল শেল স্ক্রিপ্টে আমি যে একমাত্র কমান্ড ব্যবহার করতে পারি সেগুলি কি সমস্ত শেলগুলিতে কাজ করে?
  • একটি অন্তর্নির্মিত শেল নির্দিষ্ট করা যেতে পারে?
  • লিনাক্সের মানগুলি কি অন্য ইউনিক্সের থেকে আলাদা?
  • সিনট্যাক্স সম্পর্কে কী? বিরামচিহ্ন, অপারেটর ইত্যাদি কি কিছু শেলের মধ্যে আলাদা হতে পারে?

উত্তর:


12

গ্রেগের উইকের ড্যাশের জন্য বাশ স্ক্রিপ্টগুলি মানিয়ে নেওয়ার বিষয়ে একটি পোস্ট রয়েছে যা অনেকগুলি 'বাশিজম' - যে অতিরিক্ত বৈশিষ্ট্যগুলি মানসম্মত নয় তবে বাশের অংশ are এই বাশিজমগুলি এড়ানো আপনার স্ক্রিপ্টকে বিভিন্ন পরিবেশে বন্ধুত্বপূর্ণ করতে সহায়তা করতে পারে। এটি বিশেষত আপনার কয়েকটি প্রশ্নের উত্তর দেয়। উদাহরণস্বরূপ, হ্যাঁ, সেখানে অপারেটরগুলি পৃথক (যেমন ==) রয়েছে তবে এমন একটি মানক পসিক্স সেট রয়েছে যা সমস্ত পরিবেশে কাজ করা উচিত।

আরও পুঙ্খানুপুঙ্খ পাঠের জন্য, আপনি পসিক্স মানটি পরীক্ষা করতে পারেন , যা সমস্ত শেলগুলি মেনে চলা উচিত। বিশেষত, "শেল এবং ইউটিলিটিস" এর ভলিউম।

শেলের পার্থক্যের চেয়ে আমি যেটিকে আরও চ্যালেঞ্জিং মনে করি তা হ'ল কমান্ড পার্থক্য। অনেকগুলি লিনাক্স সিস্টেমে জিএনইউ findথাকে তবে আপনি যদি পোর্টেবল স্ক্রিপ্টটি লিখছেন তবে নিজের উপর নির্ভর করবেন না man find, কারণ বিএসডি-র সাথে প্রচুর সিস্টেম রয়েছে findযার একটি আলাদা বৈশিষ্ট্য সেট রয়েছে। আপনি যদি ব্যস্তবক্সের জন্য স্ক্রিপ্ট লিখছেন, আপনি দেখতে পাবেন সম্পূর্ণ আলাদা আলাদা আলাদা সংস্করণ রয়েছে nc। এগুলি এমন ধরণের জিনিস যা আমি সর্বদা আমাকে পাই যখন আমি বিভিন্ন পরিবেশে কোনও স্ক্রিপ্ট স্থাপন করি।

ভাল শেল স্ক্রিপ্টিং অনুশীলনগুলিতে অতিরিক্ত পড়ার জন্য, ডেভিড পাশলির ব্লগে একটি ভাল সংস্থান রয়েছে: রবস্ট বাশ শেল স্ক্রিপ্টস রচনা

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


5

একটি নির্দিষ্ট শেলের মধ্যে একটি শেল স্ক্রিপ্ট লেখার অর্থ শেলটি ইনস্টল করা। একমাত্র মানটি হ'ল সমস্ত ইউনিক্স ভেরিয়েন্টে ইনস্টল করা cshএবং shইনস্টল করা। সুতরাং, আপনি যদি চান যে আপনার স্ক্রিপ্টটি সোলারিস, * বিএসডি, এবং জিএনইউতে চলছে, তবে আপনাকে এটি লিখতে হবে, বলুন, বোর্ন শেল।

তবে সর্লিস ps, ফ্রিবিএসডি এবং জিএনইউ-র অধীনে বেশিরভাগ ইউনিক্স কমান্ডের বিভিন্ন সিনট্যাক্স রয়েছে - সুতরাং আপনি কোন সরঞ্জামগুলি ব্যবহার করছেন তার উপর নির্ভর করে আপনার স্ক্রিপ্ট কোনওভাবেই বহনযোগ্য হতে পারে না। যেখানে শেল ইনস্টল করা হয়েছে তাও গুরুত্বপূর্ণ। এটা কি /bin/bash /usr/bin/bash, /usr/local/bin/bash, না অন্য কোথাও?

আমি শেল সংজ্ঞায়িত করার কোনও মানদণ্ড সম্পর্কে অসচেতন। কটাক্ষপাত আছে RC বা অদ্ভুত অ-মানক শাঁস জন্য http://192.220.96.201/es/es-usenix-winter93.html`">es। যাইহোক, যারা এখনও কিছু সাধারণ ধারনা সাথে সামঞ্জস্য বলে মনে হচ্ছে।


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