ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

شکستن از یک حلقه

bash دو دستور داخلی را ارائه می دهد که می توان از آنها برای کنترل جریان برنامه در داخل حلقه ها استفاده کرد. دستور break بلافاصله یک حلقه را خاتمه می دهد و کنترل برنامه با عبارت بعدی بعد از حلقه از سر گرفته می شود. دستور continue باعث می شود که بقیه حلقه رد شود و کنترل برنامه با تکرار بعدی حلقه از سر گرفته شود. در اینجا نسخه‌ای از برنامه منوی while را می‌بینیم که هم شکستن و هم ادامه را دارد:


#! / bin / bash


# while-menu2: یک برنامه اطلاعاتی سیستم مبتنی بر منو DELAY=3 # تعداد ثانیه برای نمایش نتایج

در حالی که درست است؛ انجام دادن

واضح

گربه <<- _EOF_

لطفا انتخاب کنید:


1. نمایش اطلاعات سیستم

2. فضای دیسک را نمایش دهید

3. نمایش استفاده از فضای خانه

0. ترک کنید


_EOF_

خواندن -p "انتخاب را وارد کنید [0-3] >"


اگر [[ $REPLY =~ ^[0-3]$ ]]؛ سپس اگر [[ $REPLY == 1 ]]; سپس

بازتاب "Hostname: $HOSTNAME" uptime

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 2 ]]؛ سپس df -h

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 3 ]]؛ سپس

اگر [[ $(id -u) -eq 0 ]]; سپس

echo "استفاده از فضای خانه (همه کاربران)" du -sh /home/*

دیگر

#! / bin / bash


# while-menu2: یک برنامه اطلاعاتی سیستم مبتنی بر منو DELAY=3 # تعداد ثانیه برای نمایش نتایج

در حالی که درست است؛ انجام دادن

واضح

گربه <<- _EOF_

لطفا انتخاب کنید:


1. نمایش اطلاعات سیستم

2. فضای دیسک را نمایش دهید

3. نمایش استفاده از فضای خانه

0. ترک کنید


_EOF_

خواندن -p "انتخاب را وارد کنید [0-3] >"


اگر [[ $REPLY =~ ^[0-3]$ ]]؛ سپس اگر [[ $REPLY == 1 ]]; سپس

بازتاب "Hostname: $HOSTNAME" uptime

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 2 ]]؛ سپس df -h

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 3 ]]؛ سپس

اگر [[ $(id -u) -eq 0 ]]; سپس

echo "استفاده از فضای خانه (همه کاربران)" du -sh /home/*

دیگر


echo "استفاده از فضای خانه ($USER)" du -sh $HOME

fi

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 0 ]]؛ سپس شکستن

fi

دیگر

echo "ورود نامعتبر." خواب $DELAY

فی انجام شد

echo "برنامه پایان یافت."

echo "استفاده از فضای خانه ($USER)" du -sh $HOME

fi

خواب $DELAY

ادامه دادن

fi

اگر [[ $REPLY == 0 ]]؛ سپس شکستن

fi

دیگر

echo "ورود نامعتبر." خواب $DELAY

فی انجام شد

echo "برنامه پایان یافت."


در این نسخه از اسکریپت، ما یک حلقه بی پایان (یکی که هرگز به خودی خود پایان نمی یابد) با استفاده از درست فرمان برای ارائه وضعیت خروج به در حین. پس از درست همیشه با وضعیت خروج صفر خارج می شود، حلقه هرگز تمام نمی شود. این یک تکنیک اسکریپت نویسی به طور شگفت انگیزی رایج است. از آنجایی که حلقه هرگز به خودی خود تمام نمی شود، این به برنامه نویس بستگی دارد که در زمان مناسب راهی برای خروج از حلقه ارائه دهد. در این اسکریپت، شکستن هنگام انتخاب "0" از دستور برای خروج از حلقه استفاده می شود. در ادامه هید دستور در انتهای سایر گزینه های اسکریپت گنجانده شده است تا امکان اجرای کارآمدتر را فراهم کند. با استفاده از ادامه دادن، اسکریپت از روی کدهایی عبور می کند که به هنگام شناسایی انتخاب مورد نیاز نیست. به عنوان مثال، اگر انتخاب "1" انتخاب و شناسایی شود، دلیلی برای آزمایش سایر انتخاب ها وجود ندارد.


 

برترین سیستم عامل Cloud Computing در OnWorks: