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

سرور مجازی NVMe

اسکریپت Bash چیست؟

0 24
زمان لازم برای مطالعه: 15 دقیقه


آیا تا به حال شنیده اید که پدرتان به شما می گوید یک لیوان آب بردارید؟ شما یک انتخاب دارید که نه بگویید، اما کامپیوترها این انتخاب را ندارند. کامپیوترها دقیقاً همان کاری را انجام می دهند که شما به آنها می گویید. Bash فقط پوسته ای است که به شما امکان می دهد با رایانه ارتباط برقرار کنید و به شما اجازه می دهد دستورالعمل هایی به آن بدهید. یک اسکریپت اساساً فقط مجموعه‌ای از دستورالعمل‌هایی است که برای اجرای وظایف معنی‌دار مختلف به رایانه داده می‌شود. یک اسکریپت به شما کمک می کند کارهای مختلف را به همراه لوکس بودن خودکار کنید تا نتایج را سریعتر از رویه معمولی انجام دهید. به طور معمول، در terminal، شما یک پایه یا پیش رو می نویسید bash دستور می دهد و اجرا می کند روی آن را فورا که در bash اسکریپت‌ها، می‌توانید چندین دستور یا دستور را به طور همزمان بدهید و رایانه همه آنها را فقط زمانی اجرا می‌کند که شما اسکریپت را اجرا می‌کنید. به طور خلاصه مجرد bash فرمان را می توان در terminal اما برای اجرای ترکیبی از چندین دستور به طور همزمان، باید a را ایجاد کنید bash اسکریپت

چرا bash مفید است و برای چه کسانی مفید است؟

اگر می‌خواهید کنترل بیشتری بر سیستم‌عامل خود داشته باشید و می‌خواهید کارهای مختلف مرتبط با سیستم‌عامل را انجام دهید، پس bash راه شما برای رفتن است توسط bash، ما فقط به زبان برنامه نویسی اشاره نمی کنیم بلکه به ابزارهایی که با سیستم عامل لینوکس ارائه می شوند نیز اشاره می کنیم. تک تک ابزارها روی لینوکس کار خود را دارد و هر کدام به صورت جداگانه وظایف متفاوتی را انجام می دهند. Bash واقعاً مفید است هر زمان که نیاز به ترکیب همه آن ابزارها و زنجیر کردن آنها به یکدیگر داشته باشید به گونه ای که همه آنها برای انجام کاری که در غیر این صورت واقعاً دشوار است، هماهنگ عمل کنند. به عنوان مثال، هر کاری که با سیستم عامل لینوکس مرتبط باشد را می توان در زبان های برنامه نویسی دیگر مانند پایتون یا پرل نیز انجام داد، اما انجام وظایف مختلف مرتبط با سیستم عامل بسیار سخت است. یک راه ساده، سیاه و سفید و ساده ترین راه برای انجام هر کاری در مورد سیستم عامل لینوکس استفاده از آن است bash. برای هر کسی که می خواهد کارهایی را انجام دهد که شامل ابزارهای سیستم عامل لینوکس (مانند ls، cd، cat، touch، grep و غیره) است، یادگیری برای او واقعا مفید است. bash به جای هر زبان برنامه نویسی دیگری

مقایسه Bash با سایر زبان های برنامه نویسی چگونه است؟

اگر صحبت کنیم bash سپس ما می دانیم که bash یک زبان برنامه نویسی همه منظوره نیست اما یک command-line مترجم Bash برای انجام وظایف پیرامون ابزارها و فرآیندهای مختلف با توانایی ترکیب فرآیندهای مختلف با هم و کارکرد همه آنها در جهت یک هدف بسیار مفید است. Bash در مورد رسیدگی و دستکاری ورودی ها و خروجی ها بسیار مفید است که انجام آن در سایر زبان های برنامه نویسی همه منظوره مانند کار بسیار دشواری است. python، C و غیره. با این حال، وقتی صحبت از ساختارهای داده و کارهای پیچیده مانند دستکاری داده های پیچیده می شود، bash نمی تواند از عهده چنین وظایفی برآید و ما باید به دنبال زبان های برنامه نویسی مانند پایتون، پرل، سی و غیره باشیم. در زبان های برنامه نویسی می توانید نرم افزار یا ابزاری بسازید اما نمی توانید هر کدام را در آن بسازید. bash. با این حال، می توانید استفاده کنید bash برای اجرای ابزارها یا ادغام آن ابزارها با یکدیگر برای اجرای کارآمد. این مانند ساختن یک موشک است، اگر این استعاره را در نظر بگیریم، زبان های برنامه نویسی به شما در ساخت موشک کمک می کنند. bash به شما کمک می کند موشک را برانید و به شما کمک می کند جهت آن را تعیین کنید و به شما کمک می کند تا آن را به ماه یا مریخ فرود آورید.

چگونه اسکریپت های Bash ایجاد و اجرا کنیم؟

برای ایجاد یک bash اسکریپت، ابتدا باید یک فایل متنی با پسوند .sh در انتهای نام فایل ایجاد کنید. شما می توانید ایجاد کنید bash فایل اسکریپت با استفاده از terminal.

$ دست زدن به script.sh

اسکریپت Bash چیست؟

پس از تایپ دستور بالا، کلید enter را فشار دهید تا یک علامت داشته باشید bash فایل اسکریپت ایجاد شده در فهرست کاری فعلی شما. اما این نیست، ما فایل اسکریپت را ایجاد کرده ایم اما باید اقدامات خاصی را برای تکمیل اسکریپت و اجرای آن انجام دهیم. اول از همه، فایل اسکریپت را در یک ویرایشگر نانو یا gedit و باز کنید روی خط اول را تایپ کنید:

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

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

این یک خط اول استاندارد برای هر است bash فایل اسکریپت که به آن کمک می کند تا به عنوان یک شناسایی شود bash اسکریپت هر اسکریپتی که # ندارد!/bin/bash در خط اول به عنوان الف در نظر گرفته نمی شود bash اسکریپت، پس حتما این خط را به بالای هر اسکریپت اضافه کنید. هنگامی که این خط را اضافه کردید، اکنون می توانید شروع به نوشتن در اسکریپت کنید. به عنوان مثال، من می خواهم در اینجا یک ساده بنویسم echo دستور:

$ echo “این LinuxHint، بهترین بستر یادگیری است برای ضربه شدید”

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

هنگامی که این دستور را نوشتید، اکنون می توانید آن را ذخیره کنید و به دستور خود بازگردید terminal. در خود بنویسید terminal:

$ ls -ال

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

شما می توانید ‘script.sh’ را که با رنگ سفید نوشته شده است مشاهده کنید که نشانه این است که اسکریپت یک فایل غیر قابل اجرا است زیرا فایل های اجرایی معمولاً به رنگ سبز هستند. علاوه بر این، به سمت چپ نگاهی بیندازید، جایی که می‌توانیم الگوی مانند “-rw-r-r-” را ببینیم که نشان می‌دهد فایل فقط قابل خواندن و نوشتن است.
اولین بخش حاوی “rw” مجوزهای مالک احتمالاً کاربر فعلی است.
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

قسمت دوم حاوی ‘r’ مجوز گروهی است که در آن چندین کاربر داریم.
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

در حالی که قسمت سوم حاوی ‘r’ مجوز برای عموم است که به این معنی است که هر کسی می تواند این مجوزها را برای فایل ذکر شده داشته باشد.
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

‘r’ مخفف مجوزهای خواندن، ‘w’ مخفف مجوزهای نوشتن، ‘x’ مخفف مجوزهای اجرایی است. واضح است که ما x را در مقابل ‘script.sh’ نمی بینیم. برای افزودن مجوزهای اجرایی، دو راه برای انجام آن وجود دارد.

روش 1

در این روش می توانید یک دستور ساده chmod را با ‘+x’ بنویسید و مجوزهای اجرایی را اضافه کنید.

$ chmod +x script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

با این حال، این کارآمدترین راه برای دادن مجوزهای اجرایی نیست، زیرا مجوزهای اجرایی را نه تنها به مالک، بلکه به گروه و عموم نیز می دهد که مطمئناً به دلایل امنیتی نمی خواهیم. نگاهی بیاندازید:
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

روش 2

در این روش می توانید از اعداد برای دیکته مجوزهای یک فایل استفاده کنید. قبل از اینکه به آن بپردازیم، می‌خواهم یک ایده مختصر از معنای آن اعداد و روش استفاده از آنها برای دستکاری مجوزها به شما ارائه دهم.
خواندن = 4
نوشتن = 2
اجرا = 1
اعداد مجوز بعد از دستور chmod سه رقمی خواهند بود و هر رقم نشان دهنده مجوزهای مالک، گروه و دیگران (عمومی) است. برای مثال، دادن مجوز خواندن، نوشتن و اجرا به مالک و مجوز خواندن به گروه و دیگران چیزی شبیه به این خواهد بود:

$ chmod 744 script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

اگر متوجه می‌شوید، متوجه می‌شوید که ما اعداد خواندن، نوشتن و اجرا را برای مالک در رقم اول به صورت 4+2+1=7 اضافه کرده‌ایم و برای گروه و دیگران از رقم خواندن استفاده می‌کنیم. یعنی 4.
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

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

حالا بالاخره به نقطه ای رسیده ایم که بتوانیم آن را اجرا کنیم bash اسکریپت برای اجرای خود bash اسکریپت، باید مطمئن شوید که در فهرست کاری فعلی که اسکریپت شما در آن قرار دارد، هستید. اجباری نیست، اما به این ترتیب آسان است زیرا لازم نیست کل مسیر را بنویسید. هنگامی که آن را انجام دادید، اکنون ادامه دهید و در خود بنویسید terminal “./nameofscript.sh”. در مورد ما، نام اسکریپت ‘script.sh’ است، بنابراین می‌نویسیم:

$ ./script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

3 مثال ساده از اسکریپت Bash

سلام LinuxHint

اول از همه، ما یک را ایجاد می کنیم bash فایل در دایرکتوری کاری حاضر:

$ نانو F_script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

در داخل فایل باید موارد زیر را بنویسید:

#!/صندوقچه/bash
echo “سلام LinuxHint”

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

وقتی آن را نوشتید، حالا سعی کنید Ctrl+O را فشار دهید تا تغییرات فایل را بنویسید، سپس اگر می‌خواهید همان نام را حفظ کنید، اینتر را بزنید، در غیر این صورت نام را ویرایش کنید و سپس اینتر را بزنید. حالا Ctrl+X را فشار دهید تا از ویرایشگر نانو خارج شوید. اکنون فایلی به نام F_script.sh را در دایرکتوری فعلی خود خواهید دید.
برای اجرای این فایل می توانید مجوزهای آن را تغییر دهید تا قابل اجرا شود یا می توانید بنویسید:

$ bash F_script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
فرمان اکو

وقتی در مورد echo دستور، به سادگی استفاده می شود print تقریباً همه چیزهایی را که می خواهید انجام دهید print تا زمانی که داخل نقل قول نوشته شده باشد. به طور معمول زمانی که شما یک echo دستور بدون هیچ پرچمی یک خط را ترک می کند و سپس خروجی را چاپ می کند. به عنوان مثال، اگر یک اسکریپت داشته باشیم:

#!/صندوقچه/bash
echo “چاپ روی خط بعدی”

پس از ذخیره شدن، اگر آن را اجرا کنیم:

$ bash F_script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

اگر از پرچم ‘-n’ با استفاده کنیم echo سپس آن را چاپ می کند روی همان خط

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

پس از ذخیره شدن، اگر آن را اجرا کنیم:

$ bash F_script.sh

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

به طور مشابه، اگر از ‘\n’ یا ‘\t’ در دو گیومه استفاده کنیم، این کار را می کند print همانطور که هست

#!/صندوقچه/bash
echo \nچاپ روی \ t همان خط\n

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

با این حال، اگر از پرچم ‘-e’ استفاده کنیم، نه تنها همه چیز از بین می رود، بلکه \n و \t را نیز اعمال می کند و می توانید تغییرات را در خروجی زیر مشاهده کنید:

#!/صندوقچه/bash
echo -e \nچاپ روی \ t همان خط\n

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
نظرات در BASH

پیشنهاد می‌کنیم بخوانید:  تفاوت بین Printf و Echo در Bash چیست؟

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

نظرات تک خطی

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

#!/صندوقچه/bash
echo -e \nچاپ روی \ t همان خط\n
#این اسکریپت به ما کمک می کند ترکیب /n و /t را اعمال کنیم

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
اسکریپت Bash چیست؟اسکریپت Bash چیست؟
نظرات چند خطی

فرض کنید می خواهید صد خط در فیلمنامه خود نظر بدهید. در این صورت، استفاده از نظرات تک خطی برای شما دشوار خواهد بود. شما نمی خواهید وقت خود را با گذاشتن # تلف کنید روی هر خط می توانیم از «:» و سپس «هر نظری» استفاده کنیم. به شما کمک می کند نظر بدهید روی چند خط فقط با تایپ 3 علامت که مفید و مفید هستند.

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

: ‘ این اسکریپت است که مطمئن می شود
که \n و \t کار می کند و اعمال می شود
که در راهی که خروجی لازم را داشته باشیم
echo -e \nچاپ روی \ t همان خط\n

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
اسکریپت Bash چیست؟اسکریپت Bash چیست؟

به 30 نمونه از اسکریپت های Bash نگاهی بیندازید روی Linuxhint.com:

30 نمونه اسکریپت Bash

6 درس مهم در Bash Scripting

1. بیانیه مشروط

عبارت شرطی ابزار بسیار مفیدی در تصمیم گیری است. به طور گسترده ای در زبان های برنامه نویسی استفاده می شود. بیشتر اوقات، ما باید بر اساس تصمیم گیری کنیم روی شرایط خاص دستور شرطی شرط داده شده را ارزیابی می کند و تصمیم می گیرد. که در bash، ما همچنین از دستور شرطی مانند هر زبان برنامه نویسی دیگری استفاده می کنیم. نحو استفاده از دستور شرطی در bash با سایر زبان های برنامه نویسی کمی متفاوت است. شرط if رایج ترین عبارت شرطی است که در آن استفاده می شود bash و سایر زبان های برنامه نویسی همه منظوره. شرط if شرط داده شده را ارزیابی می کند و تصمیم می گیرد. به شرط داده شده عبارت تست نیز گفته می شود. راه های زیادی برای استفاده از شرط if در وجود دارد bash. شرط if با بلاک else استفاده می شود. در صورتی که شرط داده شده درست باشد، عبارات داخل بلوک if اجرا می شود، در غیر این صورت بلوک else اجرا می شود. روش های مختلفی برای استفاده از دستور شرط if در Bash وجود دارد که به شرح زیر است:

  1. بیانیه if
  2. عبارت if else
  3. عبارت if تو در تو
  4. عبارت if elif

بیانیه if

دستور if فقط شرط داده شده را ارزیابی می کند، اگر شرط داده شده درست باشد، دستورات یا دستورات داخل بلوک if اجرا می شوند، در غیر این صورت برنامه خاتمه می یابد. که در bash، اگر شرط با کلمه کلیدی if شروع شده و با کلمه کلیدی fi به پایان می رسد. کلمه کلیدی then برای تعریف بلوکی از عبارات یا دستورات استفاده می شود که در صورت صحیح بودن یک شرط خاص اجرا می شوند. بیایید یک متغیر را اعلام کنیم و از شرط if برای ارزیابی مقدار متغیر استفاده کنیم که آیا آن بیشتر از 10 است یا خیر. -gt برای ارزیابی بیشتر از شرط استفاده می شود در حالی که -lt برای ارزیابی شرط کمتر استفاده می شود.

#!/صندوقچه/bash
VAR=100
#اعلام شرط if
اگر [ $VAR -gt 10 ]
سپس
echo VAR $ بزرگتر از 10 اینچ است
#پایان دادن به شرط if
فی

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
عبارت if else

دستور if else به عنوان یک دستور شرطی نیز استفاده می شود. عبارات یا دستورات بعد از شرط if در صورتی اجرا می شوند که شرط داده شده درست باشد. در غیر این صورت، اگر شرط داده شده درست نباشد، بلوک else اجرا می شود. بلوک else با بلوک if دنبال می شود و با کلمه کلیدی else شروع می شود.

#!/صندوقچه/bash
VAR=7
#اعلام شرط if
اگر [ $VAR -gt 10 ]
سپس
echo VAR $ بزرگتر از 10 اینچ است
#اعلام بلوک else
دیگر
echo VAR $ کمتر از 10 اینچ است
#پایان دادن به شرط if
فی

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

چند شرط را می توان با استفاده از شرط if ارزیابی کرد. می‌توانیم از عملگر and (&) و یا عملگر (II) برای ارزیابی شرایط چندگانه در یک دستور if استفاده کنیم.

#!/صندوقچه/bash
VAR=20
#اعلام شرط if
اگر [[ $VAR -gt 10 && $VAR -lt 100 ]]
سپس
echo VAR $ بزرگتر از 10 و کمتر از 100 اینچ است
#اعلام بلوک else
دیگر
echo “شرط راضی نیست”
#پایان دادن به شرط if
فی

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
دستور if تو در تو

در دستور if تو در تو، یک دستور if در داخل دستور if داریم. اولین عبارت if ارزیابی می شود، اگر درست باشد، عبارت if دیگر ارزیابی می شود.

#!/صندوقچه/bash
VAR=20
#اعلام شرط if
اگر [[ $VAR -gt 10 ]]
سپس
#اگر شرط داخل دیگری if شرط
اگر [ $VAR -lt 100 ]
سپس
echo VAR $ بزرگتر از 10 و کمتر از 100 اینچ است
#اعلام بلوک else
دیگر
echo “شرط راضی نیست”
#پایان دادن به شرط if
فی
دیگر
echo VAR $ کمتر از 10 اینچ است
فی

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
عبارت if elif

دستور if elif برای ارزیابی شرایط چندگانه استفاده می شود. شرط اول با بلوک if شروع می شود و سایر شرایط با کلمه کلیدی elif دنبال می شوند. بیایید مثال شماره متغیر قبلی را در نظر بگیریم و دستور if elif را در ما پیاده سازی کنیم bash اسکریپت معادله به عنوان یک عملگر برابر استفاده می شود.

#!/صندوقچه/bash
VAR=20
#اعلام شرط if
اگر [[ $VAR -eq 1 ]]
سپس
echo “مقدار متغیر برابر با 1 است”
elif [[ $VAR -eq 2 ]]
سپس
echo “مقدار متغیر برابر با 2 است”
elif [[ $VAR -eq 3 ]]
سپس
echo “مقدار متغیر برابر با 2 است”
elif [[ $VAR -gt 5 ]]
سپس
echo “مقدار متغیر بزرگتر از 5 است”
فی

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
2. حلقه زدن

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

حلقه while

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

در حالی که [ condition or test expression ]

انجام دادن
بیانیه
انجام شده

بیایید حلقه while را در فایل script.sh خود پیاده سازی کنیم. ما یک متغیر VAR داریم که مقدار آن برابر با صفر است. در حلقه while شرطی گذاشته ایم که حلقه باید اجرا شود تا مقدار VAR کمتر از 20 شود. مقدار متغیر بعد از هر تکرار 1 افزایش می یابد. بنابراین، در این حالت، حلقه شروع به اجرا می کند تا زمانی که مقدار متغیر کمتر از 20 شود.

#!/صندوقچه/bash
VAR=0
در حالی که [ $VAR -lt 20 ]
انجام دادن
echo “مقدار فعلی متغیر است VAR $
#افزایش مقدار 1 در VAR
VAR=$((VAR+1))
انجام شده

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
حلقه for

حلقه for رایج ترین حلقه مورد استفاده در هر زبان برنامه نویسی است. برای اجرای کار تکراری استفاده می شود. این بهترین راه برای انجام کارهای تکراری است. بیایید حلقه for را در فایل script.sh خود اعلام کنیم و از آن برای انجام یک کار تکراری استفاده کنیم.

#!/صندوقچه/bash
VAR=0
برای (( من==0; من<20; i++ ))
انجام دادن
echo “سلام و به linuxhin خوش آمدید”
#افزایش متغیر i
من=$((من +1))
انجام شده
echo “این پایان حلقه for است”

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
حلقه تا

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

پیشنهاد می‌کنیم بخوانید:  روش حذف خطوط خالی با استفاده از sed

تا زمان [ condition ]

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

بیایید حلقه while را در فایل script.sh خود پیاده سازی کنیم. حلقه تا اجرا می شود مگر اینکه شرط نادرست باشد (مقدار متغیر کمتر از 20 است)

#!/صندوقچه/bash
VAR=0
تا زمان [ $VAR -gt 20 ]
انجام دادن
echo “سلام و به linuxhin خوش آمدید”
#افزایش متغیر i
VAR=$((VAR+1))
انجام شده
echo “این پایان حلقه است”

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
3. خواندن از کاربر و نوشتن آن روی صفحه نمایش

Bash این اختیار را به کاربر می دهد که مقداری رشته یا داده را وارد کند روی را terminal. کاربر رشته یا داده های وارد شده را می توان از روی آن خواند terminal، می توان آن را در فایل ذخیره کرد و می توان آن را چاپ کرد روی را terminal. در فایل Bash، ورودی کاربر را می توان با استفاده از آن خواند خواندن کلمه کلیدی و ما آن را در یک متغیر ذخیره می کنیم. محتوای متغیر قابل نمایش است روی را terminal با استفاده از echo فرمان

#!/صندوقچه/bash
echo “چیزی بنویسید روی را terminal”
#ذخیره مقدار وارد شده در VAR
خواندن VAR
echo “شما وارد شدید: VAR $

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

با دستور خواندن می توان از چندین گزینه استفاده کرد. رایج ترین گزینه های مورد استفاده -p و -s هستند. -p اعلان را نشان می دهد و ورودی را می توان در همان خط گرفت. –s ورودی را در حالت بی صدا می گیرد. کاراکترهای ورودی نمایش داده می شوند روی را terminal. وارد کردن برخی از اطلاعات حساس مانند رمز عبور مفید است.

#!/صندوقچه/bash
خواندن “ایمیل را وارد کنید:” پست الکترونیک
echo “رمز عبور را وارد کنید”
خواندن -s کلمه عبور

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
4. خواندن و نوشتن فایل های متنی

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

نوشتن فایل های متنی

داده ها را می توان به روش های مختلف در یک فایل نوشت:

  • با استفاده از براکت زاویه راست یا علامت بزرگتر از (>)
  • با استفاده از دو براکت زاویه راست (>>)
  • با استفاده از دستور tee

علامت براکت فرشته سمت راست (>) برای نوشتن داده ها

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

#!/صندوقچه/bash
#user نام فایل متنی را وارد می کند
خواندن “نام فایل را وارد کنید:” فایل
#user داده هایی را برای ذخیره در فایل متنی وارد می کند
خواندن “نوشتن داده ها برای وارد کردن در فایل:” داده ها
#ذخیره اطلاعات در فایل متنی
# > به نام فایل اشاره می کند.
echo $DATA > $FILE

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
علامت براکت فرشته راست (>>) برای نوشتن داده ها

>> برای ذخیره خروجی هر دستور در فایل استفاده می شود. به عنوان مثال، دستور ls -al محتوا و مجوزهای یک فایل را در یک فهرست خاص نشان می دهد. >> خروجی را در فایل ذخیره می کند.

#!/صندوقچه/bash
#user نام فایل متنی را وارد می کند
خواندن “نام فایل را وارد کنید:” فایل
#ذخیره خروجی فرمان در فایل
ls -ال >> $FILE

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
اسکریپت Bash چیست؟اسکریپت Bash چیست؟
با استفاده از دستور tee برای نوشتن داده ها در فایل متنی

دستور tee در Bash برای نوشتن خروجی دستور در یک فایل متنی استفاده می شود. خروجی دستور را چاپ می کند روی را terminal و همچنین آن را در فایل متنی ذخیره کنید.

#!/صندوقچه/bash
#user نام فایل متنی را وارد می کند
خواندن “نام فایل را وارد کنید:” فایل
#ذخیره خروجی فرمان در فایل با استفاده از دستور tee
ls -ال | سه راهی $FILE

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

دستور tee داده های موجود فایل را به طور پیش فرض بازنویسی می کند. با این حال، یک گزینه با دستور tee می تواند برای الحاق فایل استفاده شود.

#!/صندوقچه/bash
#user نام فایل متنی را وارد می کند
خواندن “نام فایل را وارد کنید:” فایل
#ذخیره خروجی فرمان در فایل با استفاده از دستور tee
ls -ال | سه راهی $FILE

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
خواندن فایل های متنی

این گربه دستور برای خواندن داده ها از فایل استفاده می شود. متداول ترین مورد استفاده برای این منظور است. به سادگی محتوای فایل متنی را چاپ می کند روی را terminal. اجازه دهید print محتوا یا داده های فایل روی را terminal با استفاده از گربه فرمان

#!/صندوقچه/bash
#user نام فایل متنی را وارد می کند
خواندن “نام فایل را وارد کنید:” فایل
#خواندن داده ها از فایل متنی
گربه $FILE

اسکریپت Bash چیست؟اسکریپت Bash چیست؟
5. اجرای برنامه های دیگر از bash

Bash اختیار اجرای برنامه های دیگر را از اسکریپت Bash می دهد. ما از دستور exec برای اجرای برنامه های دیگر از Bash استفاده می کنیم. دستور exec جایگزین دستور قبلی می شود process با جریان process و برنامه فعلی را راه اندازی می کند. به عنوان مثال، می توانیم ویرایشگر nano، gedit یا vim را از طریق باز کنیم bash اسکریپت

#!/صندوقچه/bash
#اجرای ویرایشگر نانو از Bash
اجرایی نانو

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

#!/صندوقچه/bash
#اجرای gedit از Bash
اجرایی gedit

به طور مشابه، ما می توانیم برنامه مرورگر را از Bash نیز اجرا کنیم. بیایید مرورگر موزیلا فایرفاکس را اجرا کنیم.

#!/صندوقچه/bash
#راه اندازی فایرفاکس
اجرایی فایرفاکس

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

علاوه بر این، ما می توانیم هر برنامه ای را از Bash با استفاده از دستور exec اجرا کنیم.

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

این command-line پردازش به پردازش داده های وارد شده اشاره دارد روی را terminal. این command-line داده ها برای بسیاری از اهداف پردازش می شوند، مانند خواندن ورودی کاربر، کم بیان کردن دستورات، و خواندن آرگومان ها. قبلاً در مورد دستور read بحث کردیم. دستور read نیز برای command-line در حال پردازش. در این قسمت به پردازش آن می پردازیم command-line استدلال ها در بش، ما می توانیم process استدلال هایی که تصویب یا نوشته می شود روی را terminal. آرگومان ها به همان روشی که ارسال می شوند پردازش می شوند. بنابراین به آن پارامترهای موقعیتی می گویند. برخلاف سایر زبان های برنامه نویسی، نمایه سازی آرگومان ها در Bash با 1 شروع می شود. علامت دلار ($) برای خواندن آرگومان ها استفاده می شود. به عنوان مثال، $1 آرگومان اول را می خواند، $2 آرگومان دوم را می خواند و غیره روی. آرگومان ها را می توان به دلایل مختلفی مانند دریافت ورودی از کاربر تجزیه کرد.

#!/صندوقچه/bash
echo “اسمت را وارد کن”
#پردازش آرگومان اول
echo “نام کوچک:” 1 دلار
#پردازش آرگومان دوم
echo “نام وسط:”2 دلار
#پردازش آرگومان سوم
echo “نام خانوادگی:” 3 دلار
echo “نام و نام خانوادگی:” 1 دلار 2 دلار 3 دلار

اسکریپت Bash چیست؟اسکریپت Bash چیست؟

خواندن داده ها از terminal استفاده از read و تجزیه آرگومان ها مناسب ترین مثال ها هستند command-line در حال پردازش.

تاریخچه Bash و مقایسه با سایر پوسته ها

Bash اکنون جزء ضروری سیستم های مبتنی بر یونیکس و لینوکس است. Bourne Shell در ابتدا توسط Stephen Bourne ساخته شد. هدف از پوسته استفان بورن غلبه بر محدودیت های پوسته های موجود در آن زمان بود. قبل از Bourne Shell، UNIX پوسته Thompson را معرفی کرد. با این حال، پوسته تامپسون در پردازش اسکریپت بسیار محدود بود. کاربران قادر به اجرای مقدار کافی از اسکریپت نبودند. برای غلبه بر تمام این محدودیت های پوسته تامپسون، Bourne Shell معرفی شد. در آزمایشگاه بلز توسعه داده شد. در سال 1989، برایان فاکس با افزودن ویژگی‌های متعدد دیگر، پوسته Bourne را متحول کرد و آن را با نام Bourne Again Shell (BASH) نامید.

نام پوسته سال سکو شرح مقایسه با BASH
تامپسون شل 1971 یونیکس اتوماسیون فیلمنامه محدود بود. کاربر فقط می تواند مقدار کمی از برنامه نویسی را انجام دهد. BASH بر محدودیت های پوسته تامپسون غلبه می کند و کاربر می تواند اسکریپت های بزرگ بنویسد.
بورن شل 1977 یونیکس این به ما امکان می دهد تا تعداد زیادی از اسکریپت ها را بنویسیم و اجرا کنیم. Bourne Shell ویرایشگر فرمان و تعداد بیشتری از امکانات میانبر را فراهم نمی کند. BASH بهبودهایی را در طراحی همراه با ویرایشگر فرمان ارائه می دهد.
پوسته POSIX 1992 POSIX پوسته POSIX قابل حمل است. بسیاری از میانبرها و کنترل کار را فراهم می کند. BASH برای انجام آن دسته از وظایفی که به قابلیت حمل نیاز ندارند، محبوب است.
Z Shell 1990 یونیکس Z Shell دارای ویژگی های غنی است. این یک پوسته بسیار قدرتمند است و ویژگی هایی مانند تکمیل خودکار دستورات، تصحیح املا و تکمیل خودکار را ارائه می دهد. BASH برخی از ویژگی های ارائه شده توسط Z Shell را ندارد.

نتیجه

BASH ابزار بسیار قدرتمندی است که به ما امکان اجرای دستورات و اسکریپت ها را می دهد. یک اسکریپت BASH به ما اجازه می دهد تا وظایف و دستورات روزانه را خودکار کنیم. یک اسکریپت BASH ترکیبی از چند دستور است. فایل BASH با پسوند .sh به پایان می رسد. قبل از اجرای اسکریپت BASH، باید مجوزهای فایل را به روز کنیم و باید مجوز اجرایی را برای فایل .sh ارائه دهیم. این مقاله اسکریپت نویسی BASH و BASH را با کمک مثال های ساده و درس های مهم توضیح می دهد. علاوه بر این، تاریخچه BASH را توصیف می کند و ویژگی های آن را با پوسته های مختلف قدرتمند دیگر مقایسه می کند.

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

زمان انتشار: 1402-12-31 09:08:04

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

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

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