دوستان و علاقمندان به مباحث آموزش یونیکس (UNIX) ، این آموزش را از سایت پی وی لرن دنبال خواهیم نمود. در این بخش از آموزش با انواع حلقه های Shell در یونیکس (UNIX) آشنا خواهیم شد.
در این بخش، در مورد حلقه های شل در یونیکس بحث خواهیم کرد. حلقه یک ابزار برنامه نویسی قدرتمند است که به شما امکان می دهد مجموعه ای از دستورات را به طور مکرر اجرا کنید. در این بخش انواع حلقه های زیر را برای برنامه نویسان شل بررسی خواهیم کرد.
شما بر اساس موقعیت ، می توانید از حلقه های مختلف استفاده کنید. به عنوان مثال ، حلقه while دستورات داده شده را اجرا می کند تا زمانی که شرط داده شده صحیح باقی بماند. حلقه until تا یک شرط معین درست باشد، اجرا می شود.
پس از انجام تمرینات برنامه نویسی به خوبی ، تخصص خود را به دست می آورید و از این طریق ، بر اساس موقعیت ، از حلقه مناسب استفاده کنید. حلقه های while و for در بسیاری از زبان های برنامه نویسی دیگر مانند C++ ، C و PERL و غیره نیز، موجود هستند.
تمام حلقه ها از مفهوم تودر تو بودن پشتیبانی می کنند و این بدان معنی است که می توانید یک حلقه را درون یک حلقه ی مشابه یا حلقه های مختلف دیگر، قرار دهید. این تودر تو بودن می تواند بر اساس نیاز شما، به تعداد نامحدودی برسد.
در این جا مثالی از تودر تو بودن در حین حلقه آورده شده است. حلقه های دیگر را می توان با توجه به نیاز برنامه نویسی به روشی مشابه تودر تو کرد.
استفاده از حلقه while به عنوان بخشی از بدنه حلقه while دیگر امکان پذیر است.
1 2 3 4 5 6 7 8 9 10 11 | while command1 ; # this is loop1, the outer loop do Statement(s) to be executed if command1 is true while command2 ; # this is loop2, the inner loop do Statement(s) to be executed if command2 is true done Statement(s) to be executed if command1 is true done |
در این جا یک مثال ساده از تو در تو بودن حلقه ها آورده شده است. حال بیایید یک حلقه شمارش معکوس را درون حلقه ای که قبلاً برای شمارش استفاده کرده اید را ببینیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/sh a=0 while [ "$a" -lt 10 ] # this is loop1 do b="$a" while [ "$b" -ge 0 ] # this is loop2 do echo -n "$b " b=`expr $b - 1` done echo a=`expr $a + 1` done |
این برنامه نتیجه زیر را خواهد داد. توجه داشته باشید که echo -n در این جا چگونه کار می کند مهم است. در این جا گزینه ی n- به echo اجازه می دهد تا از چاپ یک کاراکتر خط جدید جلوگیری کند.
1 2 3 4 5 6 7 8 9 10 | 0 1 0 2 1 0 3 2 1 0 4 3 2 1 0 5 4 3 2 1 0 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 |
انواع حلقه های Shell در یونیکس (UNIX) را در این بخش از آموزش یونیکس مورد بررسی قرار دادیم. در بخش بعد به بررسی کنترل حلقه ی شل می پردازیم. با وب سایت آموزشی پی وی لرن همراه باشید.