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

سرور مجازی NVMe

شبنگ باش: با مثال توضیح داده شد

0 4
زمان لازم برای مطالعه: 3 دقیقه


Bash یک مترجم زبان دستوری است. بسیاری از سیستم عامل ها را شامل می شوند bash به عنوان مفسر دستور پیش فرض، به ویژه بیشتر موارد GNU/سیستم های لینوکس برنامه نویسی Bash روشی برای خودکارسازی مجموعه ای از دستورات است که در غیر این صورت به صورت تعاملی یک به یک اجرا می شوند.

در این راهنما، بررسی کنید که shebang چیست bash است و روش استفاده از آن

شبانگ باش:

که در bash برنامه نویسی، Shebang راهی است برای اعلام اینکه سیستم عامل از چه مفسری برای تجزیه بقیه فایل استفاده می کند. شبانگ با مجموعه ای از شخصیت های “#!” مشخص می شود. (بدون نقل قول).

در اینجا یک تفکیک سریع از دستورالعمل مترجم Shebang است.

#!<مفسر> [arguments]

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

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

دستورالعمل مترجم Shebang دارای ویژگی های خاصی است.

  • باید خط اول فیلمنامه باشد.
  • باید با یک شبانگ (#!) شروع شود.
  • ممکن است بعد از shebang فضای خالی وجود داشته باشد یا نباشد (#!).
  • مفسر مسیر کامل یک فایل باینری خواهد بود.
  • ممکن است آرگومان های مفسر وجود داشته باشد یا نباشد.

در اینجا فهرست کوتاهی از برخی از رایج ترین دستورالعمل های مترجم Shebang آورده شده است.

  • #!/صندوقچه/bash: اسکریپت با استفاده از آن تجزیه خواهد شد bash.
  • #!/usr/bin/python: اسکریپت با استفاده از python دودویی.
  • #!/usr/bin/env perl: اسکریپت با استفاده از پرل قابل اجرا موقعیت مکانی پرل قابل اجرا توسط env فرمان

استفاده از Shebang Bash:

اسکریپت ها نمی توانند Shebang داشته باشند bash. هر گونه اسکریپت با استفاده از مفسر پیش فرض تجزیه می شود. مثلا، bash مفسر پیش فرض برای است bash و sh برای zsh. در حالی که اکثر سیستم های یونیکس/لینوکس این کار را انجام داده اند bash به عنوان پیش فرض، کاربران گزینه هایی برای استفاده از دیگران دارند. در چنین سناریویی، بدون اعلام مفسر، اسکریپت ممکن است وظیفه ترجیحی خود را انجام ندهد.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دستور readarray برای خواندن آرایه دو بعدی در Bash

دو روش برای استفاده از دستورالعمل Shebang برای اعلام مترجم وجود دارد. اولین مورد این است که مسیر فایل را به فایل اجرایی اعلام کنید.

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

روش دیگر استفاده از env ابزار برای مکان یابی فایل اجرایی

#!/usr/bin/env bash

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

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

#!/صندوقچه/bash -ایکس

وقتی صحبت از استفاده می شود env برای شبانگ bash، افزودن یک آرگومان اجرایی نیاز به استفاده از گزینه “set” دارد. به عنوان مثال، یکی از موارد زیر استفاده خواهد شد bash با فعال بودن حالت اشکال زدایی

#!/usr/bin/env bash

$ تنظیم -ایکس

نمونه اسکریپت:

ما اصول اولیه شبانگ را مورد بحث قرار داده ایم bash. وقت آن است که آن را عملی کنید. بیایید نگاهی به اجرای شبانگ بیندازیم bash.

ویرایشگر متن مورد نظر خود را اجرا کنید و اسکریپت زیر را تایپ کنید:

$ #!/bin/sh

$ echo “سلام_جهان_باش”

شبنگ باش: با مثال توضیح داده شد

فایل را ذخیره کنید. برای اجرای اسکریپت باید به عنوان یک فایل اجرایی علامت گذاری شود. دستور زیر را اجرا کنید:

$ chmod +x <اسکریپت>

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

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

$ ./<اسکریپت>

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

خیلی سخت نیست، درست است؟ حالا بیایید سعی کنیم از Shebang مختلف استفاده کنیم bash اصطلاحات. موارد زیر را امتحان کنید:

$ #!/usr/bin/env bash

پیشنهاد می‌کنیم بخوانید:  Cat EOF در اسکریپت Bash چیست

$ تنظیم -ایکس

$ echo “hello_world_bash_debug”

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

غلبه بر شبانگ باش:

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

به عنوان مثال، به اسکریپت زیر نگاه کنید:

$ #!/bin/sh

$ echo “Hello_world_sh”

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

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

$ <مترجم> <اسکریپت>

شبنگ باش: با مثال توضیح داده شدشبنگ باش: با مثال توضیح داده شد

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

افکار نهایی:

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

به اسکریپت نویسی Bash بیشتر علاقه دارید؟ این راهنمای مبتدیان را بررسی کنید روی چگونه ساده بنویسیم bash اسکریپت

محاسبات مبارک!

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

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

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

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

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