وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

آموزش اسکریپت Bash برای مبتدیان

0 8
زمان لازم برای مطالعه: 16 دقیقه


زبان دستور پیش فرض لینوکس اسکریپت Bash است. ما باید دستورات زیادی را در لینوکس اجرا کنیم روی به صورت روزانه برای اهداف بسیاری این وظایف روزانه را می توان با استفاده از a خودکار کرد bash اسکریپت هر کاربری می تواند این زبان برنامه نویسی را خیلی راحت و سریع یاد بگیرد. اگر تازه وارد هستید bash برنامه نویسی پس این آموزش برای شماست.

فهرست:

  1. نظرات
  2. echo فرمان
  3. متغیرها
  4. بیانیه مشروط
  5. حلقه ها
  6. کارکرد
  7. فراخوانی برنامه ها در یک اسکریپت
  8. ایجاد منوها
  9. پردازش خط فرمان
  10. حسابی
  11. دستکاری رشته
  12. بازگرداندن کدهای برگشتی از یک اسکریپت و گرفتن در اسکریپت دیگر
  13. خواندن و نوشتن روی فایل ها
  14. لوله های

نظرات

افزودن نظرات با کد بخش ضروری هر زبان برنامه نویسی است. نظرات در زمان اجرا با اسکریپت تجزیه نمی شوند. خواننده می تواند هر کدی را به درستی درک کند اگر کد به خوبی توضیح داده شود. می‌توانید به روش‌های مختلف یک نظر اضافه کنید bash اسکریپت چگونه می توانید نظرات تک خطی و چند خطی را در a اضافه کنید bash اسکریپت در این قسمت نشان داده شده است. ایجاد یک bash فایل با اسکریپت زیر برای دانستن استفاده از bash اظهار نظر. در اینجا، نماد ‘#’ برای افزودن یک نظر تک خطی و از نقل قول تکی (‘) با ‘:’ برای افزودن نظرات چند خطی استفاده می شود.

bash_comment.sh

#!/صندوقچه/bash
#عددی را به عنوان ورودی بگیرید
echo “شماره ای را وارد کنید”
خواندن آ
:
بررسی کنید که شماره ورودی است
کمتر از 10 یا بیشتر از 10 یا مساوی 10

اگر [[ $a -lt 10 ]]
سپس
echo “تعداد کمتر از 10 است”
elif [[ $a -gt 10 ]]
سپس
echo “تعداد بیشتر از 10 است”
دیگر
echo “عدد برابر با 10 است”
فی

خروجی:

اسکریپت را اجرا کنید.

$ bash bash_comment.sh

در اینجا، اسکریپت برای سه بار با مقادیر ورودی 3، 10 و 90 اجرا می شود. خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید bash نظر دهید سپس می توانید این آموزش را بررسی کنید.

برو به بالا

echo فرمان

`echoدستور ` در استفاده می شود bash به print خروجی در terminal. می توان از گزینه های مختلف استفاده کرد echo فرمان در bash به print خروجی به روش های مختلف ایجاد یک bash فایل با اسکریپت زیر برای دانستن دو کاربرد ساده `echoدستور. در اینجا، اولین `echoدستور خواهد شد print یک داده متن ساده با یک خط جدید و دوم echo فرمان خواهد بود print یک متن ساده بدون خط جدید

echo_test.sh

#!/صندوقچه/bash
#متن اول را چاپ کنید
echo “چاپ متن با خط جدید”
#متن دوم را چاپ کنید
echo -n “چاپ متن بدون خط جدید”

خروجی:

اسکریپت را اجرا کنید.

$ bash echo_test.sh

پس از اجرای دستور بالا خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

کاربردهای بسیار دیگری از ` وجود داردechoدستور در bash. برای دانستن بیشتر در مورد ` می توانید این آموزش را بررسی کنیدechoدستور.

برو به بالا

متغیرها

اعلان متغیر جزء ضروری هر زبان برنامه نویسی است. متغیرهای Bash را می توان به روش های مختلفی اعلام کرد. هنگامی که یک مقدار به یک متغیر اختصاص داده می شود، در ابتدای متغیر از هیچ نمادی استفاده نمی شود. نماد ‘$’ همراه با نام متغیر در زمان خواندن مقدار متغیر استفاده می شود. می توان از متغیر استفاده کرد terminal یا در هر کدام قابل استفاده است bash اسکریپت

دستورات زیر یک متغیر رشته ای را با نام اعلام می کند mystr با یک ارزش خاص و بعدی print مقدار متغیر در terminal.

$ mystr=“من دوست دارم bash برنامه نویسی”

$ echo $mystr

خروجی:

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

ایجاد یک bash فایل با اسکریپت زیر در اینجا دو متغیر اعلام شده است. اینها هستند $a و $b. اگر مقدار ورودی که در $a برابر است با $b سپس پیام، “اعداد مساوی هستند” در غیر این صورت چاپ خواهد شد ”اعداد مساوی نیستند” چاپ خواهد شد.

var.sh

#!/صندوقچه/bash
echo “شماره ای را وارد کنید”
خواندن آ
ب=100
اگر [[ $a -eq $b ]]
سپس
echo “اعداد مساوی است”
دیگر
echo “اعداد مساوی نیستند”
فی

خروجی:

اسکریپت را اجرا کنید.

$ bash var.sh

دستور بالا برای دو بار با مقادیر 56 و 100 اجرا می شود. خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید bash متغیرها سپس می توانید این آموزش را بررسی کنید.

برو به بالا

بیانیه مشروط

مانند یک زبان برنامه نویسی دیگر، می توانید از دستور شرطی استفاده کنید bash. ‘اگر-پس-دیگر“و”موردعبارات ‘ عمدتاً برای اجرای دستورات شرط در هر زبان برنامه نویسی استفاده می شوند. استفاده از دستور شرطی با استفاده از “اگر” بیانیه در این بخش از این آموزش نشان داده شده است. ایجاد یک bash فایل با اسکریپت زیر که در آن از دستور شرطی استفاده شده است. در اینجا دو مقدار به عنوان ورودی از کاربر گرفته می شود و در متغیرها ذخیره می شود. $code، و سن دلار. عبارت “if” برای بررسی مقدار استفاده می شود سن دلار بزرگتر یا مساوی است 18 و ارزش $code است 1100. اگر هر دو شرط درست باشد، پیام، “شما واجد شرایط دیدن فیلم هستید” در غیر این صورت چاپ خواهد شد ”شما واجد شرایط دیدن فیلم نیستید” چاپ خواهد شد.

cond.sh

#!/صندوقچه/bash

echo “کد خود را وارد کنید”
خواندن کد
echo “سن خود را وارد کنید”
خواندن سن

اگر [[ $age -ge 18 && $code -eq ‘1100’ ]]
سپس
echo “شما واجد شرایط دیدن فیلم هستید”
دیگر
echo “شما واجد شرایط دیدن فیلم نیستید”
فی

خروجی:

اسکریپت را اجرا کنید.

$ bash cond.sh

خروجی زیر پس از گرفتن مقادیر ورودی مختلف ظاهر می شود. 1100 به عنوان کد و 5 به عنوان سن برای اولین اجرا داده می شود و اگر شرط false برای این مقادیر برگرداند. 1100 به عنوان کد و 45 به عنوان سن برای اجرای دوم داده می شود که برای شرط if true برمی گرداند.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید bash عبارت شرطی سپس می توانید این آموزش را بررسی کنید.

برو به بالا

حلقه ها

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

استفاده از حلقه for

ایجاد یک bash فایل با اسکریپت زیر که در آن «برای` حلقه برای تکرار استفاده می شود. “برای”. حلقه عمدتاً برای تکرار لیستی از داده ها یا آرایه استفاده می شود. در اینجا، لیستی از نام روزهای هفته استفاده می شود و هر نام روز هفته با استفاده از حلقه for تکرار می شود. “اگر”. بیانیه استفاده می شود print بر اساس یک پیام خاص روی نام روز هفته

for.sh

#یک نام روز هفته را در هر تکرار حلقه بخوانید
برای روز که در دوشنبه سه شنبه چهارشنبه پنج شنبه جمعه شنبه یکشنبه
انجام دادن

#بررسی کنید نام روز هفته دوشنبه یا پنجشنبه باشد
اگر [[ $day == ‘Monday’  || $day == ‘Thursday’ ]]
سپس
echo “ملاقات روی $ روز ساعت 9:30 صبح”

#بررسی کنید نام روز هفته سه شنبه یا چهارشنبه یا جمعه باشد
elif [[ $day == ‘Tuesday’  || $day == ‘Wednesday’ || $day == ‘Friday’ ]]
سپس
echo “آموزش روی $ روز ساعت 11 صبح”
دیگر

#تعطیلات را برای روزهای دیگر چاپ کنید
echo $ روز تعطیلات است”
فی
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash for.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید استفاده می شود bash برای حلقه سپس می توانید این آموزش را بررسی کنید.

استفاده از حلقه while

ایجاد یک bash فایل با اسکریپت زیر که در آن «در حالی که ` حلقه برای تکرار استفاده می شود. این اسکریپت خواهد شد print آن اعداد از 1 تا 20 که زوج هستند و بر 5 بخش پذیر هستند. شمارنده $ متغیر برای کنترل تکرار حلقه استفاده می شود و مقدار این متغیر در هر تکرار 1 افزایش می یابد. چه زمانی “اگر”. شرط به درستی باز خواهد گشت و آنگاه خواهد شد print ارزش شمارنده $.

#!/صندوقچه/bash

#پیام را چاپ کنید
echo “چاپ اعداد زوج و بخش پذیر بر 5”

شمارنده را #راه‌اندازی کنید
پیشخوان=1

#حلقه را تکرار کنید تا مقدار $counter کمتر یا مساوی 20 شود
در حالی که [ $counter -le 20 ]
انجام دادن

#بررسی کنید که شمارنده $ بر 2 و 5 بخش پذیر است
اگر [[ $counter%2 -eq 0 && $counter%5 -eq 0 ]]
سپس
#Print $counter بدون خط جدید
echo شمارنده $
فی

# شمارنده $ را 1 افزایش دهید
((شمارنده ++))
انجام شده
echo “انجام شده”

خروجی:

$ bash در حالی که.ش

فقط اعدادی بین 1 تا 20 وجود دارد که زوج هستند و بر 5 بخش پذیر هستند. خروجی زیر پس از اجرای اسکریپت ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید استفاده می شود bash `در حالی که` حلقه بزنید سپس می توانید این آموزش را بررسی کنید.

استفاده از تا حلقه

ایجاد یک bash فایل با اسکریپت زیر که در آن «تا اینکه` حلقه برای تکرار استفاده می شود. این اسکریپت خواهد شد print همه اعداد فرد از 0 تا 20 $n متغیر در این اسکریپت برای تکرار حلقه استفاده می شود.

تا.ش

#!/صندوقچه/bash

#initialize متغیر، n
n=20

#حلقه را تکرار کنید تا مقدار $n از 0 بیشتر شود
تا زمان [ $n -lt 0 ]
انجام دادن

#بررسی کنید که مقدار n فرد باشد
اگر [[ $n%2 -gt 0 ]]
سپس
echo $n
فی

#مقدار n را 1 افزایش دهید
((n=$n1))
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash تا.ش

فیلمنامه خواهد شد print همه اعداد زوج از 20 تا 1. خروجی زیر پس از اجرای اسکریپت ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

برو به بالا

کارکرد

هنگامی که یک بلوک کد نیاز به اجرا چندین بار در یک اسکریپت داشته باشد، از تابع برای انجام کار استفاده می شود. فقط زمانی باید تابع را با نام فراخوانی کنید که اسکریپت تعریف شده در تابع باید چندین بار اجرا شود نه اینکه یک اسکریپت را چندین بار اضافه کنید. براکت اول شروع و پایان با نام تابع برای اعلام تابع استفاده می شود bash اسکریپت تابع را می توان فقط با نام تابع در فراخوانی کرد bash. Bash از آرگومان تابع مانند زبان برنامه نویسی استاندارد دیگر پشتیبانی نمی کند. اما ارزش را می توان به آن منتقل کرد bash به روشی متفاوت عمل کنید که در این بخش نشان داده شده است. مقدار را می توان با دستور return یا بدون استفاده از عبارت return از تابع برگرداند.

ایجاد یک bash فایلی با اسکریپت زیر برای دانستن اینکه چگونه می توان توابع را اعلام کرد و فراخوانی کرد bash اسکریپت سه تابع در اسکریپت اعلام شده است. اولین تابع به اعلام شده است print یک پیام ساده، “برنامه نویسی Bash برای مبتدی“. تابع دوم برای تخصیص یک مقدار رشته در یک متغیر اعلام شده است. $return_str که خواهد شد print، “فرا گرفتن bash برنامه نویسی با LinuxHint” پس از فراخوانی تابع. تابع سوم برای خواندن یک مقدار آرگومان به عنوان شعاع دایره ای اعلام می شود که در زمان فراخوانی تابع ارائه می شود. اینجا، محلی برای خواندن مقدار آرگومان استفاده می شود. این تابع مساحت دایره را بر اساس محاسبه می کند روی مقدار شعاع با استفاده از فرمول، πr2 و print مقدار مساحت محاسبه شده

پیشنهاد می‌کنیم بخوانید:  روش استفاده از $() و ${} در اسکریپت شل

func.sh

#!/صندوقچه/bash

#یک تابع ساده را اعلام کنید
تابع print_message()
{
echo “برنامه نویسی Bash برای مبتدی”
}

#یک تابع را برای برگرداندن مقدار رشته ای اعلام کنید
تابع ret_strdata()
{
متغیر را با مقدار رشته مقداردهی اولیه کنید
بازگشت_خ=“فرا گرفتن bash برنامه نویسی با LinuxHint”
}

#یک تابع را برای خواندن مقدار آرگومان اعلام کنید
تابع محاسبه_مساحت()
{
#مقدار آرگومان ارسال شده را بخوانید
محلی شعاع=1 دلار
حوزه=$(echo شعاع دلار*شعاع دلار*3.14 | قبل از میلاد مسیح)
#مقدار ناحیه را چاپ کنید
echo “مساحت دایره است مساحت $
}

# تابع را فراخوانی کنید print یک پیام ساده

print_message

# تابعی را که یک مقدار رشته در یک متغیر اختصاص می دهد فراخوانی کنید

ret_strdata

#مقدار متغیر را چاپ کنید
echo $return_str

#مقدار شعاع را بخوانید
echo “مقدار شعاع را وارد کنید”
خواندن راد

# تابع را با مقدار شعاع فراخوانی کنید

محاسبه_مساحت راد دلار

خروجی:

اسکریپت را اجرا کنید.

$ bash func.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود. دو خط اول خواهد بود print با فراخوانی توابع، print_message() و ret_strdata(). آخرین خط خواهد شد print با فراخوانی تابع، محاسبه_مساحت() با مقدار شعاع ورودی گرفته شده.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید در مورد بازگرداندن یک رشته از bash تابع پس از آن شما می توانید این آموزش.

برو به بالا

فراخوانی برنامه ها در یک اسکریپت

شما می توانید از انواع مختلفی از دستورات برای فراخوانی برنامه های دیگر در هر کدام استفاده کنید bash اسکریپت، مانند منبع، bash، ارزشیابی، اجراییو غیره فرض کنید سه bash فایل ها، افزودن.ش، کم کردن.ش، ضرب.ش و تقسیم.ش برای انجام جمع، تفریق، ضرب و تقسیم ایجاد شده است. اینجا، تفریق.ش و تقسیم.ش آرگومان های خط فرمان را بخوانید اسکریپت هر چهار فایل در زیر آورده شده است.

افزودن.ش

#!/صندوقچه/bash
آ=60
ب=40
((نتیجه=$a+$b))
echo “افزودن از $a+$b=$نتیجه

تفریق.ش

#!/صندوقچه/bash
آ=1 دلار
ب=2 دلار
((نتیجه=$a$b))
echo «تفریق از $a$b=$نتیجه

ضرب کن.ش

#!/صندوقچه/bash
((نتیجه=1 دلار*2 دلار))
echo «ضرب 1 دلار و 2 دلار است $نتیجه

تقسیم.ش

#!/صندوقچه/bash
آ=1 دلار
ب=2
((نتیجه=$a/$b))
echo «تقسیم $a توسط $b است $نتیجه

ایجاد یک bash فایل به نام callpro.sh با اسکریپت زیر برای فراخوانی ذکر شده bash فایل ها با استفاده از منبع، bashدستورات eval و exec. قبل از اجرای اسکریپت زیر باید مجوز اجرا را برای چهار فایل فوق تنظیم کنید. دستور “source” برای فراخوانی استفاده می شود افزودن.ش فایل. `bashدستور ` برای اجرای فایل subtract.sh استفاده می شود. دستور ‘eval’ برای اجرای فایل multiply.sh استفاده می شود. دو مقدار ورودی به عنوان آرگومان های خط فرمان برای دستور ‘eval’ ارسال می شود. آخرین دستور دستور exec است که فقط با مسیر مطلق کار می کند. برای این کار، نام مسیر کامل فایل divide.sh در اسکریپت آورده شده است.

callpro.sh

#!/صندوقچه/bash
اسکریپت 1=“add.sh”
اسکریپت 2=“subtract.sh”
اسکریپت 3=” multiply.sh “
اسکریپت 4=“/home/fahmida/code/divide.sh”

منبع $script1

bash $script2 50 20

echo “مقدار a را وارد کنید”
خواندن آ
echo “مقدار b را وارد کنید”
خواندن ب
ارزیابی bash $script3 $a $b
اجرایی $script4 30

خروجی:

اسکریپت را اجرا کنید.

$ bash callpro.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

برو به بالا

ایجاد منوها

یک دستور مفید در آن وجود دارد bash برای ایجاد یک منوی ساده که نامیده می شود ‘انتخاب’ فرمان با استفاده از این دستور می توان انواع مختلفی از منوها را ایجاد کرد. یک لیست داده خاص برای ایجاد یک منو با این دستور استفاده می شود. ایجاد یک bash فایل با کد زیر برای مشاهده استفاده از ‘انتخاب’ دستور ایجاد منو در این مثال، لیست پنج مورد به عنوان یک منو چاپ می شود و از کاربر می خواهد هر زبانی را از لیست انتخاب کند. مقدار انتخاب شده در متغیر ذخیره می شود زبان $ که بعداً با الحاق با رشته دیگر چاپ می شود. اسکریپت به طور مداوم درخواست انتخاب زبان را می کند تا زمانی که کاربر فشار دهد 6 برای خاتمه دادن به اسکریپت

menu.sh

#!/صندوقچه/bash

#چاپ پیام برای کاربر
echo “زبان مورد علاقه خود را انتخاب کنید”

# لیست یک آیتم منو را تعریف کنید
انتخاب کنید زبان که در سی# Java PHP Python Bash خروج
انجام دادن
مقدار انتخاب شده را #چاپ کنید
اگر [[ $language == “Exit” ]]
سپس
خروج 0
دیگر
echo “زبان انتخاب شده است زبان $
فی
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash menu.sh

با توجه به خروجی زیر، کاربر برای اولین بار که PHP را چاپ می کند عدد 3 و برای بار دوم که از اسکریپت خاتمه می یابد عدد 6 را فشار می دهد.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

اگر می خواهید بیشتر بدانید bash ایجاد منو با “انتخاب” سپس می توانید از این آموزش دیدن کنید.

برو به بالا

پردازش خط فرمان

گاهی اوقات لازم است مقادیر ورودی را هنگام اجرای اسکریپت از خط فرمان ارائه کنیم. این کار را می توان به دو صورت انجام داد bash. یک راه با استفاده از متغیرهای آرگومان و راه دیگر استفاده از تابع getopts است. خواندن داده های ورودی خط فرمان از terminal با استفاده از متغیر آرگومان در این قسمت نشان داده شده است.

ایجاد یک bash فایل با اسکریپت زیر برای مشاهده استفاده از خواندن مقدار آرگومان خط فرمان. این اسکریپت سه آرگومان خط فرمان را می خواند که در متغیرهای $operand1، $operand2 و $operator ذخیره می شوند. برای اجرای صحیح اسکریپت، مقادیر آرگومان اول و سوم باید عدد و مقدار آرگومان دوم باید یکی از چهار عملگر حسابی (‘+’, ‘-‘, ‘/’, ‘x’) باشد. اگر بیانیه مقدار $operator را بررسی می کند و عملیات را بر اساس انجام می دهد روی اپراتور و print ارزش.

cl1.sh

#!/صندوقچه/bash

#متغیرهای آرگومان را چاپ کنید
echo “مقادیر آرگومان عبارتند از: $1 $2 $3”

# ذخیره مقادیر آرگومان
عملوند 1=1 دلار
عملوند 2=3 دلار
اپراتور=2 دلار

برای انجام عملیات حسابی، مقدار آرگومان فرمان دوم را بررسی کنید
اگر [[ $operator == ‘+’ ]]
سپس
((نتیجه=$operand1+operand2 $))
elif [[ $operator == ‘-‘ ]]
سپس
((نتیجه=$operand1operand2 $))
elif [[ $operator == ‘x’ ]]
سپس
((نتیجه=$operand1*operand2 $))
elif [[ $operator == ‘/’ ]]
سپس

((نتیجه=$operand1/operand2 $))
فی

# print نتیجه
echo -e “نتیجه = $نتیجه

خروجی:

اسکریپت را اجرا کنید.

$ bash cl1.sh

این اسکریپت چهار بار برای چهار نوع عملگر حسابی اجرا می شود. خروجی زیر برای مقادیر آرگومان ظاهر می شود 6 + 3، 6 – 3، 6 x 3 و 6/3.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

مقادیر آرگومان را می توان با جفت نام-مقدار در ارسال کرد bash. ایجاد یک bash فایل با اسکریپت زیر برای نشان دادن روش خواندن مقادیر آرگومان با نام. اسکریپت دو متغیر آرگومان را می خواند. مقادیر آرگومان با نام در اولین عبارت اسکریپت چاپ می شود. سپس از یک حلقه for برای تکرار آرایه ای که حاوی مقادیر آرگومان خط فرمان است استفاده می شود. هر عنصر آرایه با استفاده از دستور ‘cut’ به یک جفت کلید-مقدار جدا می شود. در مرحله بعد از عبارت case استفاده می شود print بر اساس یک پیام خاص روی مقدار کلیدی

cl2.sh

.#!/صندوقچه/bash

#متغیرهای آرگومان را چاپ کنید
echo “مقادیر آرگومان عبارتند از: $1 $2”

#هر آرگومان را جداگانه با استفاده از حلقه for بخوانید
برای ارگ که در “$@”
انجام دادن

#نام و مقدار آرگومان را جدا کنید
کلید=$(echo $arg | برش -f1 =)
ارزش=$(echo $arg | برش -f2 =)

#چاپ پیام بر اساس روی نام آرگومان
مورد کلید $ که در

نام) echo “نام دانش آموز = ارزش دلار;;

علامت) echo “نشان به دست آمده = ارزش دلار ;;
*)
اساک
انجام شده

خروجی:

اسکریپت را با آرگومان های خط فرمان زیر اجرا کنید.

$ bash cl2.sh نام=”ابیرحسین” علامت=90

دو آرگومان خط فرمان در دستورات بالا ارائه شده است. اینها هستند نام=”ابیرحسین” و علامت = 90. نام و نشانه ها توسط اسکریپت از هم جدا می شوند و پس از فرمت کردن خروجی دو مقدار چاپ می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

پردازش آرگومان های خط فرمان با استفاده از می گیرد تابع در این آموزش مورد بحث قرار نگرفته است. اگر می خواهید در مورد پردازش خط فرمان با استفاده از می گیرد پس از آن می توانید از این آموزش دیدن کنید.

برو به بالا

حسابی

انجام عملیات حسابی یکی از الزامات رایج هر زبان برنامه نویسی است. Bash عملیات حسابی را به روشی متفاوت از زبان برنامه نویسی استاندارد دیگر انجام می دهد. روش های مختلفی برای انجام عملیات حسابی وجود دارد bash. یکی از روش های ساده انجام عملیات حسابی در این قسمت نشان داده شده است. ایجاد یک bash فایل با اسکریپت زیر چهار نوع عملیات حسابی در این اسکریپت نشان داده شده است. عملیات جمع و تقسیم ساده با استفاده از دو براکت اول در ابتدای اسکریپت نشان داده می شود. در مرحله بعد، عملیات پیش افزایش نشان داده شده است. در نهایت روش استفاده از عملگر کوتاه نویسی در قسمت آخر اسکریپت نشان داده شده است.

arith.sh

#!/صندوقچه/bash
# مجموع را محاسبه کنید
نتیجه=$((50+25))
# مقدار جمع را چاپ کنید
echo “جمع = $نتیجه

# تقسیم را محاسبه کنید
نتیجه=$((50/25))
# مقدار تقسیم را چاپ کنید
echo “تقسیم = $نتیجه

# یک مقدار به N اختصاص دهید
ن=10
# انجام پیش افزایش
((–N))
# مقدار N را چاپ کنید
echo “ارزش پس از کاهش = $N

# استفاده از عملگر مختصر
(( N += 10 ))
# مقدار N را چاپ کنید
echo “مقدار پس از افزودن 10 = $N

خروجی:

اسکریپت را اجرا کنید.

$ bash arith.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

تمام عملیات حسابی با استفاده از دو براکت در این اسکریپت بالا انجام می شود. اما شما می توانید استفاده کنیداجازه دهید‘،’expr“و”قبل از میلاد مسیحفرمان انجام عملیات حسابی در bash. اگر می خواهید در مورد این دستورات برای انجام بیشتر بدانید bash عملیات حسابی سپس می توانید از این آموزش دیدن کنید.

برو به بالا

دستکاری رشته

بسیاری از انواع وظایف را می توان با داده های رشته ای انجام داد bash. برخی از آنها عبارتند از به هم پیوستن رشته، مقایسه رشته، تقسیم یک رشته، تغییر حروف رشته، و غیره. هیچ توابع داخلی داخلی مانند سایر زبان های استاندارد در bash برای انجام عملیات رشته برخی از دستکاری های رایج رشته در این بخش از این آموزش مورد بحث قرار گرفته است.

رشته الحاقی

به جمع دو یا چند رشته به هم پیوستگی رشته می گویند. رشته به هم وصل شده است bash با قرار دادن یکی پس از دیگری ایجاد یک bash فایل با اسکریپت زیر برای نشان دادن استفاده از الحاق رشته ها. دو متغیر رشته مقداردهی اولیه و print پس از ترکیب متغیرها در اینجا، محتوای $string1 و string2 $ ادغام و چاپ خواهد شد.

concat.sh

#!/صندوقچه/bash

متغیر رشته اول #initialize
رشته 1=“من دوست دارم “
#initialize متغیر رشته دوم
رشته 2=“برنامه نویسی Bash”
بعد از ترکیب هر دو رشته، #چاپ کنید
echo $string1string2 $

خروجی:

اسکریپت را اجرا کنید.

$ bash concat.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

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

برو به بالا

مقایسه رشته

Bash از انواع مختلفی از عملگرها برای مقایسه داده های رشته ای استفاده می کند. ایجاد یک bash فایل با اسکریپت زیر برای نشان دادن روش مقایسه دو داده رشته ای. یک مقدار رشته به عنوان ورودی در اسکریپت گرفته می شود که با رشته دیگری مقایسه می شود. اگر مقدار مطابقت داشته باشد، یک پیام، “شما پایتون را دوست دارید” در غیر این صورت چاپ خواهد شدشما PERL را دوست دارید” چاپ خواهد شد.

پیشنهاد می‌کنیم بخوانید:  روش ایجاد یک اسکریپت شل (.sh) منتظر ورودی کاربر – Bash باشید

مقایسه کنید.ش

#!/صندوقچه/bash
echo “هر مقدار رشته ای را وارد کنید”
خواندن متن

#بررسی کنید که داده های ورودی معادل “Python” هستند
اگر [ $text == “Python” ]; سپس
echo شما پایتون را دوست دارید.
دیگر
echo “پرل را دوست داری”
فی

خروجی:

اسکریپت را اجرا کنید.

$ bash مقایسه کنید.ش

خروجی زیر پس از اجرای اسکریپت ظاهر می شود که در آن مقدار ورودی ‘PERL’ است.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

از این آموزش می توانید درباره مقایسه رشته ها بیشتر بدانید.

تقسیم رشته

Bash هیچ تابع تقسیم داخلی برای تقسیم داده های رشته ای ندارد. داده های رشته ای را می توان به روش های مختلف تقسیم کرد bash مستقر روی انواع مختلف جداکننده ایجاد یک bash فایل با اسکریپت زیر نشان می دهد که چگونه داده های رشته ای را می توان به تقسیم بندی کرد bash. یک مقدار رشته به عنوان ورودی گرفته می شود. این اسکریپت مقدار را تقسیم می کند $text مستقر روی فضا. اینجا IFS متغیر برای تنظیم جداکننده استفاده می شود. “خواندن”. دستور در اینجا برای تقسیم مقدار متن و ذخیره مقادیر در یک آرایه استفاده می شود. برای حلقه برای تکرار آرایه و استفاده می شود print ارزش هر عنصر

split.sh

#!/صندوقچه/bash
#یک مقدار رشته را وارد کنید
echo “یک مقدار رشته را وارد کنید”
خواندن متن
# جداکننده را تنظیم کنید
IFS=“”
#مقدار متن $ را به یک آرایه مبتنی بر تقسیم کنید روی جدا کننده فضا
خواندن arr <<< $text
# هر مقدار آرایه را چاپ کنید
برای ارزش که در ${arr[@]};
انجام دادن
printf ارزش دلار\n
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash split.sh

پس از گرفتن ورودی، خروجی زیر ظاهر می شود.برنامه نویسی Bash را یاد بگیرید“. این مقدار ورودی متنی از سه کلمه است. بنابراین، رشته به سه قسمت تقسیم می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

از این آموزش می توانید درباره مقایسه رشته ها بیشتر بدانید.

تغییر حالت رشته

بیشتر زبان های اسکریپت نویسی دارای توابع داخلی برای تغییر اندازه داده های رشته هستند. اما مورد داده های رشته ای را می توان در آن تغییر داد bash با استفاده از “tr”. دستور یا با استفاده از ‘:بالا’ و ‘:پایین’ کلید واژه ها. ایجاد یک bash با اسکریپت زیر فایل کنید تا راه های تغییر حروف بزرگ را بدانید bash. در اینجا، داده های رشته اول با استفاده از آن به حروف بزرگ تبدیل می شوند ‘^^’ نماد و رشته دوم با استفاده از حروف کوچک تبدیل می شود “tr”. فرمان “tr”. دستور تمام حروف بزرگ در رشته را جستجو می کند و کاراکترها را به حروف کوچک تبدیل می کند.

case.sh

#!/صندوقچه/bash

اولین داده های رشته را #initialize کنید
متن 1=‘test@example.com’

#مقدار $text1 را با تبدیل همه کاراکترها به حروف بزرگ چاپ کنید
echo${ایمیل^^}

#دهی رشته دوم را مقدار دهی اولیه کنید
متن 2=”مبانی برنامه نویسی Bash”

#مقدار text2$ را با تبدیل تمام حروف بزرگ به کوچک چاپ کنید
echo $text2 | tr [:upper:] [:lower:]

خروجی:

اسکریپت را اجرا کنید.

$ bash case.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

از این آموزش می توانید درباره مقایسه رشته ها بیشتر بدانید.

برو به بالا

خواندن داده های رشته از طریق حلقه

داده های رشته ای به عنوان یک آرایه کاراکتر برای هر زبان برنامه نویسی کار می کند. چگونهبرایحلقه ‘ می تواند برای خواندن داده های رشته ای استفاده شود bash در این بخش نشان داده شده است. یک فایل پایه با اسکریپت زیر برای خواندن هر قسمت از مقدار رشته با استفاده از حلقه for ایجاد کنید.

readstr.sh

#!/bin/bas
# هر کلمه از یک متن را با استفاده از حلقه for بخوانید
برای ارزش که در برنامه نویسی Bash برای مبتدیان
انجام دادن
echo ارزش دلار
انجام شده

خروجی:

اسکریپت را اجرا کنید.

$ bash readstr.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

با استفاده از حلقه این آموزش می توانید درباره تکرار داده های رشته ای اطلاعات بیشتری کسب کنید.

برو به بالا

بازگرداندن کدهای برگشتی از یک اسکریپت و گرفتن در اسکریپت دیگر

یکی bash اسکریپت می تواند کدهای بازگشتی را از اسکریپت دیگر با فراخوانی و استفاده از اسکریپت دریافت کند ‘$؟’ برای خواندن مقدار بازگشتی فرض کنید، الف bash فایل به نام اول.ش پس از اجرا یک کد را برمی گرداند. دیگری ایجاد کنید bash فایل به نام دوم.ش و اسکریپت زیر را اضافه کنید تا مقدار بازگشتی را بدست آورید و چند کار دیگر را انجام دهید. کد هر دو فایل در زیر آمده است. اول.ش فایل از آن فراخوانی خواهد شد دوم.ش فایل در ابتدای اسکریپت اول.ش یک کد خروج بر اساس برمی گرداند روی مقدار ورودی second.sh کد را توسط ‘$؟’ و با 1 مقایسه کنید. اگر هر دو مقدار مساوی باشند، این کار خواهد شد print، “عدد ورودی بزرگتر از 100 است“، در غیر این صورت خواهد شد print، “عدد ورودی کمتر یا مساوی 100 است“.

اول.ش

#!/صندوقچه/bash

echo “یک مقدار عددی را وارد کنید”
خواندن n

# بررسی کنید مقدار ورودی کمتر یا مساوی 100 باشد یا خیر
اگر [[ $n -le 100 ]]
سپس
خروج 0
دیگر
خروج 1
فی

دوم.ش

#! /صندوقچه/bash

#فایل را اجرا کنید، first.sh
bash “first.sh”

#بررسی کنید کد برگشتی برابر با 1 باشد یا خیر
اگر [ $? -eq 1 ]
سپس
echo “تعداد ورودی بزرگتر از 100 است”
دیگر
echo “عدد ورودی کمتر یا مساوی 100 است”
فی

خروجی:

اسکریپت را اجرا کنید.

$ bash دوم.ش

هنگامی که اسکریپت برای دو بار توسط 55 و 110 اجرا شود خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

برو به بالا

خواندن و نوشتن روی فایل ها

خواندن و نوشتن فایل ها از الزامات رایج است bash برنامه نویسی. Bash هیچ عملکرد داخلی مانند زبان دیگری برای خواندن یا نوشتن فایل ندارد. روش های مختلفی برای خواندن فایل وجود دارد bash. رایج ترین روش برای خواندن یا نوشتن یک فایل در bash در حال استفاده “گربه”. فرمان اما این دستور برای خواندن کل محتوای فایل در یک زمان استفاده می شود. همچنین می توانید هر فایلی را خط به خط با استفاده از هر حلقه و بخوانید “خواندن”. فرمان با استفاده از عملگر تغییر مسیر، ‘>’، می توانید داده ها را در هر فایلی بنویسید bash. اگر می خواهید داده ها را به هر فایلی اضافه کنید، باید از آن استفاده کنید ‘>>’ اپراتور. هر دو عملیات خواندن و نوشتن فایل در قسمت بعدی این بخش نشان داده شده است.

خواندن فایل در bash

ایجاد یک bash فایل با اسکریپت زیر برای خواندن یک فایل موجود به نام ‘hardware.txt‘. محتوای این فایل در زیر آورده شده است. در اسکریپت، کل محتوای فایل توسط خوانده می شود “گربه”. دستور اول و بعد، حلقه while برای خواندن خط به خط فایل استفاده می شود.

hardware.txt

نظارت کنید
صفحه کلید
موش
اسکنر
چاپگر

readfile.sh

#!/صندوقچه/bash

echo “خواندن فایل با استفاده از دستور cat”

# محتوای فایل را با استفاده از دستور «cat» بخوانید
محتوا=`گربه hardware.txt`
echo محتوای $

echo “خواندن فایل خط به خط با استفاده از حلقه”

# نام فایل را اختصاص دهید
نام فایل=‘hardware.txt’

# هر خط از فایل با هر تکرار حلقه خوانده می شود
در حالی که خواندن خط
انجام دادن
# print خط
echo خط $
انجام شده<$filename

خروجی:

دستورات زیر را اجرا کنید.

$ گربه hardware.txt
$ bash readfile.sh

در اینجا، اولین فرمان خواهد بود print محتوای فایل، hardware.txt بدون اجرا bash script و فرمان دوم اسکریپت را اجرا می کند readfile.sh و print محتوای فایل برای دو بار با استفاده از “گربه”. فرمان و “خواندن”. فرمان با حلقه while. برای آشنایی بیشتر با خط به خط خواندن فایل می توانید از این آموزش دیدن کنید.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

نوشتن فایل در bash

ایجاد یک bash فایل را با اسکریپت زیر برای نوشتن محتوای جدید در یک فایل جدید و اضافه کردن داده ها در آن فایل.

writefile.sh

#!/صندوقچه/bash

echo “متنی را وارد کنید”
#داده های رشته را بخوانید
خواندن str1
#برای اولین بار داده های ورودی را به فایل اضافه کنید
echo $str1 > test.txt

echo “متن دیگری را وارد کنید”
#داده رشته ای دیگر را بخوانید
خواندن str2
#داده های ورودی را در انتهای فایل اضافه کنید
echo $str2 >> test.txt

#نمایش محتوای کامل فایل
echo `گربه test.txt`

خروجی:

اسکریپت را اجرا کنید.

$ bash writefile.sh

پس از اجرای اسکریپت خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

برو به بالا

لوله های

Pipe برای تغییر مسیر هر خروجی فرمان به ورودی دستور دیگر استفاده می شود. می توان از آن در بین انواع مختلف استفاده کرد bash دستورات برای تولید خروجی خاص ورودی استاندارد توسط لوله با خروجی استاندارد در لینوکس متصل می شود. باید دستور را به ترتیب با علامت لوله ( | ) تنظیم کنید تا خروجی مورد نظر را بدست آورید. با استفاده از pipe می توان دو یا چند دستور را با هم در یک دستور واحد اجرا کرد. برای انجام یک کار باید چندین دستور را در چندین خط بدون لوله اجرا کنید. بنابراین، استفاده از لوله برای انجام بسیاری از کارها به صورت کوتاه بسیار مفید است.

نحو:

فرمان 1 | فرمان 2 |

در اینجا خروجی command1 به عنوان ورودی command2 ارسال می شود.

همین نوع کار با لوله و بدون لوله در قسمت بعدی این قسمت انجام می شود. فرض کنید یک فایل متنی به نام marks.txt با داده های زیر آورده شده است.

marks.txt

اسراف CSE-409 79

کبیر CSE-304 95

Keya CSE-101 67

اسراف CSE-304 88

Keya CSE-409 90

اسراف CSE-101 92

باید داده های فایل را مرتب کنید و متوجه شوید و print تمام ورودی نام دانش آموز ‘Kایا. شما می توانید این کار را با اجرای چندین دستور بدون استفاده از لوله ای که در قسمت بعدی نشان داده شده است انجام دهید. برای به دست آوردن خروجی مورد نظر باید دستورات زیر اجرا شوند. دستور اول فایل را مرتب می کند. فرمان دوم ورودی ‘K را جستجو می کندایا با استفاده از `grep` دستور دهید و خروجی را در آن ذخیره کنید temp.txt فایل. دستور سوم کل خطوط a را شمارش می کند temp.txt فایل با استفاده از “wc”. فرمان

$ مرتب سازی marks.txt
$ grep ‘کیا’ marks.txt > temp.txt
$ دستشویی temp.txt

خروجی:

دو ورودی دانش آموز، ‘Keya’ در فایل وجود دارد. بنابراین پس از اجرای دستورات بالا خروجی زیر ظاهر می شود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

با اجرای یک دستور با لوله ای که در دستور زیر نشان داده شده است، می توانید به راحتی سه دستور بالا را ادغام کنید و همان خروجی را بگیرید. هیچ فایل موقتی در اینجا برای دریافت خروجی مورد نیاز نیست. در اینجا، خروجی از `مرتب سازیدستور “به عنوان ورودی ” ارسال می شودgrep` دستور و خروجی`grepدستور به عنوان ورودی برای “wc”. فرمان

$ مرتب سازی marks.txt | grep ‘کیا’ | دستشویی

خروجی:

پس از اجرای دستور بالا، خروجی زیر را مانند خروجی دستور قبلی دریافت خواهید کرد. خروجی دستور 2 خواهد بود.

آموزش اسکریپت Bash برای مبتدیانآموزش اسکریپت Bash برای مبتدیان

برو به بالا

نتیجه:

مفیدترین و ضروری ترین موضوعات از bash سعی شده است در این آموزش زبان اسکریپت پوشش داده شود. امیدوارم خواننده پس از مطالعه این آموزش بهره مند شود و بتواند بنویسد bash اسکریپت کارآمدتر

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 20:22:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید