از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
10 مثال جالب و عالی Bash Loop
سرفصلهای مطلب
در زبان برنامه نویسی، عمدتاً سه نوع حلقه (for، while و while) وجود دارد. هر سه نوع حلقه از جنبه های مختلف مهم هستند. تفاوت زیادی بین حلقههای while و while وجود ندارد، اما حلقه for کاملاً متفاوت از این دو است. به همین دلیل است که می توانید از این حلقه ها برای ایجاد اسکریپت های تعاملی به عنوان یک استفاده کنید bash کاربر.
بنابراین یادگیری bash مثال ها می توانند به شما در بهبود مهارت های خود در ایجاد اسکریپت کمک کنند. بنابراین در این آموزش 10 مورد جالب و عالی را قرار خواهیم داد bash نمونه های حلقه ای که می توانید امتحان کنید تا مهارت های اسکریپت نویسی خود را افزایش دهید.
10 مثال جالب و عالی Bash Loop
در این قسمت به توضیح مثال های مختلف و رویکردهایی که در حلقه ها استفاده کرده ایم می پردازیم.
دستور Seq با حلقه در Bash
می توانید از دستور seq در حلقه for برای ایجاد دنباله اعداد استفاده کنید. به عنوان مثال، شما یک bash اسکریپت “File.sh” که حاوی کد زیر است:
برای آ که در $(دنباله 5 2 25)
انجام دادن
اکو “تعداد از $A هستند”
انجام شده
نتیجه زیر را پس از اجرای اسکریپت در قسمت دریافت خواهید کرد terminal:
تغییر نام فایل ها با استفاده از حلقه
با استفاده از a bash اسکریپت، می توانید از حلقه های for برای تغییر نام چندین فایل استفاده کنید. به عنوان مثال، شما چندین فایل txt. دارید و می خواهید تاریخ فعلی را با نام اضافه کنید. بنابراین در اینجا نمونه ای از اسکریپت است که می توانید استفاده کنید:
برای ایکس که در $(ls *txt); انجام دادن
mv X دلار $(نام پایه X دلار txt)_$(تاریخ +%د%متر)txt
انجام شده
اکنون، میتوانید اسکریپت را اجرا کنید و با افزودن تاریخ فعلی، نام همه فایلهای txt. را تغییر میدهد:
به طور مشابه، می توانید پسوندهای یک فایل را از طریق یک اسکریپت تغییر دهید. پس بیایید پسوند txt را از طریق اسکریپت زیر به .sh تغییر دهیم:
برای ایکس که در *txt. انجام دادن
mv — “X دلار“ “${X%.txt}.sh”
انجام شده
پس از اجرای اسکریپت در terminal، به جای فایل های txt، فایل های .sh را دریافت خواهید کرد:
Infinite For Loop در Bash
زمانی که هیچ شرط پایانی در حلقه تعریف نشده باشد، حلقه نامحدود نامیده می شود. در این مثال از یک حلقه Bash، ما به حلقه for بی نهایت در نگاه خواهیم کرد bash. حلقه for نامتناهی زیر با یک نقطه ویرگول دوتایی (; ; ) تعریف می شود و شامل هیچ قسمت اولیه، عمل یا پایانی نیست.
اسکریپت زیر تا زمانی که Ctrl+C را فشار دهید یا عبارت Quit را به عنوان ورودی تایپ کنید ادامه خواهد داشت. این اسکریپت هر عدد از 10 تا 50 را که به عنوان ورودی داده می شود چاپ می کند. در غیر این صورت، “تعداد خارج از محدوده است” را چاپ می کند.
#حلقه بی نهایت
برای (( ; ; ))
انجام دادن
اکو “عددی بین 10 تا 50 وارد کنید”
خواندن n
اگر [ $n == “quit” ]
سپس
اکو “خاتمه یافت”
خروج 0
فی
اگر (( $n < 10 || $n > 50 ))
سپس
اکو “تعداد خارج از محدوده است”
دیگر
اکو “شماره است $n“
فی
انجام شده
45 و 23 ورودی معتبر دادیم روی اسکریپت بالا پس از آن، 2 را به عنوان ورودی چاپ می کنیم که در خروجی می گوید “عدد خارج از محدوده است.” پس از آن برای بستن اسکریپت، quit را به عنوان ورودی تایپ می کنیم. در اینجا همچنین می توانید Ctrl+C را برای خروج از حلقه بی نهایت فشار دهید.
حلقه سه بیان در Bash
از نام حلقه سه بیانی مشخص است که شامل سه عبارت است که اصطلاحات کنترلی نیز نامیده می شود. عبارت اول (EXP1) اولیه ساز، عبارت دوم (EXP2) تست یا شرط حلقه و عبارت سوم (EXP3) عبارت/گام شمارش است. اجازه دهید یک حلقه سه بیانی را اجرا کنیم bash:
برای (( n=5; n>=1; n– ))
انجام دادن
اکو “کتاب $n“
انجام شده
با اجرای اسکریپت بالا، خروجی زیر را دریافت خواهید کرد.
حلقه با شرایط چندگانه
در ادامه از حلقه while با چند شرط استفاده کرده ایم bash مثال حلقه در این اسکریپت، دو متغیر “m” و “n” را گرفتیم که مقادیر آنها به ترتیب 20 و 10 است و حد 15 را حفظ کردیم. در اینجا شرایط “m” و “n” را با هم در حلقه قرار می دهیم. که در آن حلقه تا زمانی اجرا می شود که مقدار “m” کمتر از حد و “n” بیشتر از حد باشد.
حد=15
متر=20
n=10
تا زمان [[ $m -lt $limit || $n -gt $limit ]];
انجام دادن
اکو “اگر M = $ متر سپس N = $n“
((m–))
((n++))
انجام شده
می بینید که اجرای اسکریپت بالا تا زمانی اجرا می شود که مقادیر “m” و “n” به یک سطح برسند.
فایل را در Bash بخوانید
که در bash، می توانید محتویات یک فایل را به چند روش بخوانید. در این مثال از bash حلقه، محتویات فایل را از طریق نام فایل می خوانیم. برای خواندن فایل می توانیم از اسکریپت زیر استفاده کنیم bash:
اکو “محتوای فایل وارد شده عبارت است از:”
در حالی که
خواندن خط
انجام دادن
اکو خط $
انجام شده <~اسناد/Linuxhint.txt
پس از اجرای اسکریپت فوق می توانید محتوای کامل فایل وارد شده را مطالعه نمایید.
نوشتن در یک فایل
میتوانید از حلقههای موجود در اسکریپت برای ویرایش فایل مستقیماً از آن استفاده کنید terminal. به عنوان مثال، اگر یک فایل txt “Example.txt” داریم و می خواهیم اطلاعاتی را اضافه کنیم، می توانیم از اسکریپت زیر استفاده کنیم:
اگر اسکریپت بالا را اجرا کنید، از شما می خواهد که جزئیات را وارد کنید:
هنگامی که جزئیات را وارد کردید، لطفاً CTRL + D را برای ذخیره فایل و CTRL + Z را برای پایان دادن به فایل process با موفقیت.
شکستن و ادامه حلقه بیانیه در Bash
که در bash، می توانید عبارت حلقه خود را بعد از استراحت ادامه دهید. دستور break از حلقه خارج می شود و سپس کنترل را به دستور داده شده بعدی منتقل می کند. تکرار شماره دو پس از رد شدن از تکرار فعلی با همان عبارت continue شروع می شود.
تعداد=16
تا زمان نادرست
انجام دادن
((تعداد–))
اگر [[ $num -eq 13 ]]
سپس
ادامه هید
elif [[ $num -le 4 ]]
سپس
زنگ تفریح
فی
اکو “LinuxHint = تعداد $“
انجام شده
در ادامه مطلب bash اسکریپت، میتوانید ببینید که وقتی «num» برابر با 13 باشد، بقیه بدنه حلقه را رد میکند و به تکرار بعدی میرود. به طور مشابه، زمانی که “num” کمتر یا مساوی 4 باشد، حلقه شکسته می شود.
اسکریپت بالا نشان می دهد که حلقه از 15 شروع می شود، در 13 شکسته می شود و تا 5 ادامه می یابد.
محاسبه میانگین در Bash
شما می توانید میانگین را با اجرای اسکریپت در a محاسبه کنید bash حلقه در این، کاربر می تواند میانگین اعداد را در یک محدوده تعریف شده محاسبه کند. اسکریپت زیر میانگین ورودی ارائه شده توسط کاربر را محاسبه می کند.
نشانه ها=“0”
میانگین=“0”
جمع=“0”
NUM=“0”
در حالی که درست است، واقعی; انجام دادن
اکو -n “نمرات خود را برای محاسبه میانگین وارد کنید یا برای لغو/پایان “q” را فشار دهید:; خواندن علائم؛
اگر [ “$marks“ = “q” ]; سپس
اکو میانگین نمرات عبارتند از: میانگین $“
زنگ تفریح
elif [ “$marks“ -lt 50 ] || [ “$marks“ -gt 100 ]; سپس
اکو “نمرات باید بین 50 تا 100 باشد. لطفاً نمرات خود را وارد کنید: “
دیگر
جمع=$(($SUM + $مارک))
NUM=$(($NUM + 1))
میانگین=$(($SUM / $NUM))
فی
انجام شده
اگر ورودی در محدوده نباشد، پیامی چاپ می شود که “لطفاً علائم خود را وارد کنید.” هنگامی که کاربر پس از وارد کردن تمام علامت ها، “q” را فشار می دهد، اسکریپت میانگین تقریبی همه اعداد وارد شده را محاسبه می کند.
هنگامی که اسکریپت بالا اجرا می شود، خروجی شما چیزی شبیه به این خواهد بود.
آرگومان های خط فرمان را در Bash بخوانید
که در bash، می توانید تک بخوانید command-line آرگومان ها با استفاده از حلقه ها اسکریپت مقادیر آرگومان فرمت شده را چاپ می کند. آرگومان های خط فرمان را در آن اجرا می کنیم bash با استفاده از حلقه while در اسکریپت زیر. از این طریق، با کمک یک دستور، مقداری را که از گزینه argument value valid عبور می کند، چاپ می کنید.
در حالی که می گیرد N:F:M: OPT
انجام دادن
مورد “${OPT}“ که در
ن) نام=${OPTARG};;
اف) نام پدر=${OPTARG};;
م) نام مادر=${OPTARG};;
*) اکو “بی اعتبار”
خروج 1;;
اساک
انجام شده
printf “نام:$name\nنام پدر:$fathername\nنام مادر:نام مادر\n“
بنابراین، می توانید مقادیر آرگومان فرمت شده را با اجرای اسکریپت بالا در یک خروجی چاپ کنید bash.
بسته بندی
بنابراین این اطلاعات مختصر بود روی 10 باحال و عالی bash نمونه های حلقه ای که می توانید یاد بگیرید. ما از انواع مختلفی از حلقه ها برای ایجاد آسان اسکریپت تعاملی استفاده کرده ایم. علاوه بر این، رویکردهای اساسی مورد استفاده در مثال های بالا را نیز توضیح دادیم. اگر جزئیات عمیقی در مورد حلقه های داخل دارید bashلطفا برای کسب اطلاعات بیشتر به وب سایت رسمی ما مراجعه کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 16:45:02