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

لوگو

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

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

در حین

bash می تواند ایده مشابهی را بیان کند. فرض کنید می خواستیم پنج عدد را به ترتیب نمایش دهیم-


ترتیب تیال از یک تا پنج آ بر هم زدن اسکریپت را می توان به صورت زیر ساخت:


#! / bin / bash


# while-count: نمایش یک سری اعداد count=1

در حالی که [[ $count -le 5 ]]; echo $count count=$((count + 1)) را انجام دهید

انجام شده

پژواک "تمام شد."

#! / bin / bash


# while-count: نمایش یک سری اعداد count=1

در حالی که [[ $count -le 5 ]]; echo $count count=$((count + 1)) را انجام دهید

انجام شده

پژواک "تمام شد."


هنگام اجرا، این اسکریپت موارد زیر را نمایش می دهد:



[me@linuxbox ~]$ while-count

1

2

3

4

5

تمام شده.

[me@linuxbox ~]$ while-count

1

2

3

4

5

تمام شده.


نحو از در حین دستور این است:

در حین دستورات; انجام دادن دستورات; انجام شده

پسندیدن if, در حین وضعیت خروج از لیستی از دستورات را ارزیابی می کند. تا زمانی که وضعیت خروج صفر باشد، دستورات داخل حلقه را انجام می دهد. در اسکریپت بالا، متغیر تعداد دفعات مشاهده ایجاد می شود و مقدار اولیه 1 به آن اختصاص می یابد در حین فرمان وضعیت خروجی را ارزیابی می کند [[]] دستور مرکب تا زمانی که [[]] فرمان وضعیت خروجی صفر را برمی گرداند، دستورات درون حلقه اجرا می شوند. در پایان هر چرخه، [[]] فرمان تکرار می شود پس از پنج بار تکرار حلقه، مقدار تعداد دفعات مشاهده به 6 افزایش یافته است [[]] فرمان دیگر وضعیت خروج صفر را برنمی‌گرداند و حلقه خاتمه می‌یابد. برنامه با عبارت بعدی زیر حلقه ادامه می یابد.

ما می توانیم از a استفاده کنیم حلقه در حالی که برای بهبود منوی خواندن برنامه از فصل قبل:


#! / bin / bash


# while-menu: یک برنامه اطلاعات سیستم مبتنی بر منو

#! / bin / bash


# while-menu: یک برنامه اطلاعات سیستم مبتنی بر منو


تاخیر=3 # تعداد ثانیه برای نمایش نتایج


در حالی که [[ $REPLY != 0 ]]; انجام دادن

واضح

گربه <<- _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

دیگر

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

خواب $DELAY

fi

انجام شده

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

تاخیر=3 # تعداد ثانیه برای نمایش نتایج


در حالی که [[ $REPLY != 0 ]]; انجام دادن

واضح

گربه <<- _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

دیگر

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

خواب $DELAY

fi

انجام شده

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


با قرار دادن منو در یک حلقه while، می‌توانیم برنامه را بعد از هر انتخاب دوباره نمایش منو تکرار کنیم. حلقه تا زمانی که ادامه دارد پاسخ برابر "0" نیست و منو دوباره نمایش داده می شود و به کاربر این فرصت را می دهد تا انتخاب دیگری انجام دهد. در پایان هر اقدام، الف خواب دستور اجرا می شود بنابراین برنامه برای چند ثانیه مکث می کند تا قبل از پاک شدن صفحه و نمایش مجدد منو، نتایج انتخاب دیده شود. یک بار پاسخ برابر با "0" است، که نشان دهنده انتخاب "خروج" است،


حلقه خاتمه می یابد و اجرا با خط زیر ادامه می یابد انجام شده.


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