یادآوری: موقعی که اسکریپتها را ایجاد میکنید، مرحلهای کارکنید و هر مرحله را، قبل از آمیختن با هم در اسکریپت، امتحان کنید.
اسکریپتی ایجاد کنید که یک کپی ( بازگشتی ) از فایلهای
/etc
تهیه کند، به طوری که یک مدیر سیتم تازهکار بتواند بدون هراس فایلها را ویرایش کند.اسکریپتی بنویسید که دقیقاً یک شناسه بپذیرد، یک نام دایرکتوری. اگر تعداد شناسه بیشتر یا کمتر از یک باشد، پیغام نحوهٔ کاربرد آن را چاپ کند. اگر شناسه نام یک دایرکتوری نیست، پیغام دیگری چاپ کند. برای دایرکتوری داده شده، پنجتا از بزرگترین فایلها و پنج فایلی که اخیراً ویرایش شدهاند را لیست کند.
میتوانید توضیح بدهید که چرا قرار دادن متغیرها در بین نقلقولهای دوگانه در مثال بخشی تحت عنوان«تغییر مسیر خروجی» تا این اندازه اهمیت دارد؟
اسکریپتی مشابه آن که در بخشی به نام«دستور داخلی break » است، بنویسید، اما روشی در نظر بگیرید که پس از سه بار اجرای حلقه توسط کاربر، خارج شود.
راه حل بهتری نسبت به move
-b
برای اسکریپت بخشی تحت عنوان«مثالها» جهت ممانعت از رونویسی فایلهای موجود ارائه کنید. به عنوان مثال، بررسی کنید که آیا فایل موجود است. کارهای غیر ضروری نکنید!اسکریپت
whichdaemon.sh
از بخشی تحت عنوان«عملگرهای منطقی» را بازنویسی کنید، به طوری که:لیستی از سرویسدهندهها، از قبیل Apache و سرویسدهنده SSH و برنامه کمکی NTP و یک برنامه مدیریت نیرو و غیره را برای بررسی چاپ کند.
برای هر موردی که کاربر میتواند انتخاب کند، اطلاعات معقولی چاپ کند ، مانند نام سرویسدهنده وب، اطلاعات پیگردی NTP ، و غیره.
به طور اختیاری، امکانی برای کنترل سرویسدهندههای دیگری غیر از آنها که لیست شدهاند جهت کاربران فراهم کنید . برای چنین حالاتی، حداقل بررسی کنید که پردازشهای داده شده در حال اجرا میباشند.
اسکریپت بخشی تحت عنوان«محاسبه یک میانگین» را بازبینی کنید. توجه کنید چطور کاراکتر ورودی غیر از q پردازش میشود. این اسکریپت را طوری بازسازی کنید که اگر کاراکترها به عنوان ورودی داده شوند پیغامی چاپ کند.
testscript از بخشی به نام«دستور داخلی shift » را برای نمایش دادن حالت N=0 و حالتی که N حاضر نیست، بازنویسی کنید. امتحان کنید.