درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

جهت دریافت مدرک با مراجعه به به این بخش و ورود به دوره مورد نظر، بر روی گزینه دریافت مدرک کلیک کرده، اطلاعات خود را تکمیل کنید تا پروسه صدور مدرک برای شما طی شود.

صدور مدرک تنها برای دوره هایی که به صورت کامل خریداری شده و قیمت آن ها بالای 100،000 تومان باشد انجام خواهد شد.

جشنواره تخفیف شگفت انگیز زمستانه توسینسو

تا سقف 70 درصد تخفیف + ترافیک نیم بها برای پنج خرید اول هر محصول + پشتیبانی محصولات توسط اساتید + ارائه گواهینامه پایان دوره

تخفیف های وب سایت
همه تخفیف ها

برای دریافت گواهینامه باید کلیه قسمت های این دوره خریداری شود

شما 0 قسمت از 19 قسمت این دوره را خریداری کرده اید

عضویت در

کانال تلگرام

توسینسو

اطلاعات دوره آموزشی

مدت دوره

6:21:10

تعداد ویدیوها

26

تعداد کامنت ها

33

خرید دوره | 60,545

حجم دوره: 770 مگابایت

اطلاعات مطلب
مدرس/نویسنده
محمد عابدینی
امتیاز: 83999
رتبه:10
428
172
22
625
سلام دوستان مدیر سایت mabedini.ir هستم. از سال ۱۳۸۱ با سیستم عامل های مبتنی بر BSD کار کردم. مقالات و فیلم های آموزشی در زمینه BSD تهیه کردم. یکی از سیستم عامل های مورد علاقه من OpenBSD است. عاشق کار با سیستم عاملهای متن باز عاشق کار با خط فرمان. پروفایل کاربر

حلقه های تکرار در Bash

تاریخ 18 ماه قبل
نظرات 4
بازدیدها 539

شرط در Shell scripting:


سلام خدمت دوستان عزیز در سایت ITpro با بخش دیگری از سری آموزش های اسکریپت نویسی در Bash در خدمت شما دوستان عزیز هستم، در این قسمت در خصوص دستورات شرطی با هم صحبت خواهیم کرد.

دستور if:


یکی از پرکاربرد ترین دستورات در Shell scripting دستور شرطی است به نام if که کاربرد آن در شکل زیر مشاهده می کنید:
حلقه if


همانطوی که مشاهده می کنید بخش اصلی این دستور شرطی است که در براکت قرار گرفته ، دستورات تست کردن در بخش قبلی توضیح داده شده است، این بخش در براکت قرار می گیرد، در صورتی شرط تست درست باشد فرمان بعد از آن اجرا شده و در صورتی خطا در تصدیق شرط به به FI منتقل می شوید، این دستور با if شروع شده و به fi خاتمه پیدا خواهد کرد. در قسمتی از کد زیر با این فرمانها آشنا می شوید:
if test -f /file/exists
 then
		command1
		command2
		...
		commandN
fi


حالت if lese :


در حالت بالا اگر شرط درست نباشد هیچ بخشی راه اندازی نمی شود مگر شما از else هم استفاده کنید، فرض کنید اسکریپتی را قصد دارید بنویسید که در صورتی که کاربر مقدار را اشتباه وارد کند به آن اخطار دهد برای این منظور باید از ساختار if..else..fi استفاده کنید که شبه کد این برنامه را در زیر مشاهده می کنید:

if test var -eq val
then
command executed successfully
else
if command failed then
execute all commands up to fi
fi


یکی از تفاوت های اصلی این شبه کد با شبه کد بالا اضافه شدن then بعد از شرط است و در صورتی درستی شرط دستورات موجود در بخش بین then تا lese اجرا می شود و در صورتی که شرط درست نباشد دستورات بعد از else تا fi اجرا می شود و بعد از fi هم شرط تمام شده و حلقه پایان می پذیرد، در زیر یک مثال از این بخش را مشاهده می کنید:

#!/bin/bash
read -p "Enter a password" pass
	if test "$pass" = "jerry"
then
		echo "Password verified."
else
		echo "Access denied."
fi

حلقه While:


این مدل از حلقه تا زمانی اجرا می شود که شرط داخل حلقه درست باشد، فرض کنید که اسکریپتی نوشته اید که تا با استفاده از فرمان ping روشن بودن یک آدرس ip را چک می کند و در صورتی که جوابی از سمت سرور ارسال نشود از حلقه خارج شده و با ارسال پیغام به سمت مدیر سیستم وضعیت را اعلام کند، این حلقه در شکل زیر نمایش داده شده است:
حلقه while


در این نوع از حلقه هم شما نیاز به داشتن شرط دارید، برای این منظور که حلقه به صورت بی نهایت ادامه پیدا نکند باید محدوده ای در این حلقه تعیین کنید، شبه کد این برنامه به صورت زیر است:

while [ condition ]
do
   command1
   command2
   command3
done


برای مثال برای نمایش 5 بار یک متن در خروجی فرمان زیر را اجرا کنید:

#!/bin/bash
n=1
while [ $n -le 5 ]
do
	echo "Welcome $n times."
	n=$(( n+1 ))	 
done


در قدم اول مقدار متغییر n را یک تعیین می کنیم. بعد شرط حلقه تا عدد 5 ادامه پیدا می کند و با هر با اجرا حلقه یک عدد به متغییر n اضافه می شود تا به شرط حلقه برسد.

حلقه For:


این حلقه برای انجام دادم تکراری یک سری اعمال استفاده می شود، برای مثال شما قصد دارید که به تعدادی مشخض یک پیغام را در خروجی تایپ کنید این حلقه به صورت زیر است( این حلقه فقط برای sh و Bash ایجاد شده است )

#!/bin/bash 
for i in 1 2 3 4 5 ;
do 
echo "Welcome $i times" 
done


مثال های یک خطی از For:


شما می توانید در یک خط هم از for به صورت زیر استفاده کنید:
#for i in 1 2 3 4; do ping -c 1 192.168.0.$i; done
#for i in 1 2 3 4; do ping -c 1192.168.0.$i; done | grep -B 2 loss
#for i in 1 2 3 4; do ping -c 1 192.168.0.$i; done | grep time


برچسب ها
ردیف عنوان حجم (مگابایت) مدت زمان قیمت
1 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت اول : فرمان های مقدماتی man cd pwd و ls 52 18 دقیقه و 17 ثانیه رایگان
2 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت دوم: فرمان های ایجاد کردن شاخه ها و فایلها کپی کردن فایل و شاخه 40 18 دقیقه و 48 ثانیه رایگان
3 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت سوم : مشاهده کردن محتوای فایل 51 23 دقیقه و 17 ثانیه رایگان
4 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت چهارم: جستجو کردن فایلها و شاخه ها 41 18 دقیقه و 50 ثانیه 5,500 تومان
5 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت پنجم: جستجو در فایلها با grep بخش اول 47 23 دقیقه و 18 ثانیه 8,470 تومان
6 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت ششم : فرمان grep بخش دوم 21 12 دقیقه و 29 ثانیه رایگان
7 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت هفتم : فرمان های کاربردی cut و jot 33 19 دقیقه و 6 ثانیه 5,500 تومان
8 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت هشت: مقدمه ای بر فرمان sed 18 10 دقیقه و 59 ثانیه 5,500 تومان
9 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت نهم : نمایش و پاک کردن خطوط با sed 15 10 دقیقه و 19 ثانیه 5,500 تومان
10 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت دهم: جابجا کردن کلمات و کاراکترها با sed 21 12 دقیقه و 17 ثانیه 5,830 تومان
11 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت یازدهم : مقدمه ای بر دوره اسکریپت نویسی 37 9 دقیقه و 30 ثانیه رایگان
12 فرمان Sed و کاربردهای آن 0 0 ثانیه رایگان
13 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت دوازدهم : مقدمه ای برای نوشتن یک اسکریپت 14 9 دقیقه و 8 ثانیه رایگان
14 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت سیزدهم: خلق کردن اولین برنامه ساده در شل 18 9 دقیقه و 26 ثانیه رایگان
15 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت چهاردهم: متغییرها و دریافت ورودی از کاربر 28 15 دقیقه و 41 ثانیه 5,500 تومان
16 فرمان Test: 0 0 ثانیه رایگان
17 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت پانزدهم: نمایش ورودی ها با echo، مستعار کردن فرمان ها و چرخش ورودی 27 15 دقیقه و 7 ثانیه 4,400 تومان
18 اعمال ریاضی در Shell Scripting 0 0 ثانیه رایگان
19 حلقه های تکرار در Bash 0 0 ثانیه رایگان
20 مفهوم ورودی و خروجی در Shell 0 0 ثانیه رایگان
21 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت شانزدهم: هوشمند سازی فرمان echo و متغییرها 11 6 دقیقه و 51 ثانیه 4,400 تومان
22 با خروجی های ناخواسته فرمان های چه کنیم؟ 0 0 ثانیه رایگان
23 ایجاد کردن خاتمه چند خطی در ورودی یک فرمان (here document) 0 0 ثانیه رایگان
24 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت هفدهم: مقدمه ای بر نوشتن یک اسکریپت بک آپ گیری 33 15 دقیقه و 47 ثانیه 4,400 تومان
25 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت هجدهم: نوشتن یک اسکریپت ساده backup 32 17 دقیقه و 2 ثانیه 5,500 تومان
26 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت نوزدهم: مفهوم پردازش در خط فرمان 59 22 دقیقه و 58 ثانیه 5,500 تومان
27 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیستم: ایجاد کردن process bar در Shell 19 8 دقیقه و 44 ثانیه 6,600 تومان
28 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست یکم: سه فرمان history ، join و stat 20 11 دقیقه و 50 ثانیه 4,400 تومان
29 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست دوم:: ایجاد کردن فایلهای موقت و تقسیم بندی فایلها بزرگ 22 12 دقیقه و 59 ثانیه 5,500 تومان
30 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست سوم: استفاده کردن از functions و ارایه ها در bash 13 9 دقیقه و 0 ثانیه 5,500 تومان
31 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست چهارم: چک کردن محاسبات عددی با let 20 12 دقیقه و 12 ثانیه 5,500 تومان
32 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست پنجم: آشنایی با Logger 23 12 دقیقه و 34 ثانیه 5,500 تومان
33 دوره آموزشی فوق تخصصی Shell Scripting در BASH Shell قسمت بیست ششم :: قسمت پایانی کار با dialog 43 24 دقیقه و 41 ثانیه 11,000 تومان
دوره مجموعه کل دوره 770 6 ساعت و21 دقیقه و 10 ثانیه 110,000 تومان
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • -le و -eq منظور از این دوتا چیست ؟
  • سلام دوست عزیز داخل این مقاله در مورد توضیح دادم
    https://network.tosinso.com/tutorials/35824/%d9%81%d8%b1%d9%85%d8%a7%d9%86-test-
    
  • ببخشید استاد من این مقاله رو ندیده بودم
  • خواهش می کنم

برای ارسال نظر ابتدا به سایت وارد شوید