শেল সিনট্যাক্স উপসর্গ ভিত্তিক। এটিতে বিশেষ কীওয়ার্ড দ্বারা کلاস চালু করা হয়েছে। নির্দিষ্ট কিছু ধারা একসাথে যেতে হবে।
একটি whileলুপ এক বা একাধিক পরীক্ষার কমান্ড তৈরি করা হয়:
test ; test ; test ; ...
এবং এক বা একাধিক বডি কমান্ড দ্বারা:
body ; body ; body ; ...
শেলকে কিছু বলতে হবে যে কিছুক্ষণের জন্য লুপ শুরু হয়। এটাই whileশব্দের উদ্দেশ্য :
while test ; test ; test ; ...
তবে তারপরে বিষয়গুলি দ্বিধাবিভক্ত। দেহের সূচনা কোন আদেশ? কিছু এটি নির্দেশ করতে হবে এবং এটি doউপসর্গটি করে:
do body ; body ; body ; ...
এবং, অবশেষে, কিছুতে ইঙ্গিত করতে হবে যে শেষের শরীরটি দেখা গেছে; একটি বিশেষ কীওয়ার্ড doneএটি করে।
এই শেল কীওয়ার্ডগুলির জন্য একই লাইনেও সেমিকোলন বিচ্ছেদ প্রয়োজন হয় না। উদাহরণস্বরূপ, যদি আপনি বেশ কয়েকটি নেস্টেড লুপগুলি বন্ধ করেন তবে আপনার কাছে কেবল এটি থাকতে পারে done done done ...।
বরং সেমিকোলন ... test ; body ... যদি একই লাইনে থাকে তবে এর মধ্যে থাকে। সেমিকোলনটি একটি টার্মিনেটর হিসাবে বোঝা যায়: এটি এর সাথে সম্পর্কিত test। সুতরাং, যদি doতাদের মধ্যে কোনও কীওয়ার্ড প্রবেশ করানো হয় তবে এটি সেমিকোলন এবং এর মধ্যে যেতে হবে body। এটি যদি সেমিকোলনের অন্য দিকে থাকে তবে এটি testকমান্ডের সিনট্যাক্সের ভিতরে কমান্ডের মধ্যে স্থাপন না করে ভুলভাবে এম্বেড করা হত ।
শেল সিনট্যাক্সটি মূলত স্টিফেন বোর্ন ডিজাইন করেছিলেন এবং আলগোল দ্বারা অনুপ্রাণিত হয়েছেন । বোর্ন আলগলকে এত পছন্দ করতেন যে তিনি সিটিকে আলগোলের মতো দেখতে শেল উত্স কোডে প্রচুর সি ম্যাক্রো ব্যবহার করেছিলেন। আপনি সংস্করণ 7 ইউনিক্স থেকে 1979-তারিখের শেল উত্সগুলি ব্রাউজ করতে পারেন । ম্যাক্রোগুলি ভিতরে রয়েছে mac.hএবং এগুলি পুরো জায়গা জুড়ে ব্যবহৃত হয়। জন্য উদাহরণস্বরূপ ifবিবৃতিগুলির মতো দেখা যায় IF... ELSE... ELIF... FI।