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

سرور مجازی NVMe

$@ در اسکریپت Bash چیست؟

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


بسیاری از ما از اسکریپت های Bash برای نگهداری و برخی وظایف دیگر استفاده می کنیم. با این حال، ما همیشه با گزینه های مختلف Bash آشنا نیستیم. هر زمان که کاربر در پوسته Bash و لینوکس تازه کار باشد، کاربر تمایل دارد به دنبال یک اسکریپت Bash از پیش نوشته شده باشد. این به این دلیل است که برخی از کاربران نویسه‌های Bash منحصربه‌فرد مانند $@، $_ و $1 را گیج‌کننده می‌دانند. با شروع پارامتر Bash $@، از آن برای گسترش به آرگومان های موقعیتی استفاده می شود. هر پارامتر هر زمان که بسط در داخل گیومه های دوگانه اتفاق می افتد به چیزی شبیه یک کلمه متمایز گسترش می یابد. در صورت استفاده از $@، پارامترهای جداگانه باید در نقل قول محصور شوند و با فاصله مشخص شوند. به یاد داشته باشید که $@ باید نقل قول شود تا به درستی عمل کند. با این وجود، مانند آرگومان ها به عنوان رشته های متمایز رفتار می کند.

ما چندین مثال را برای توضیح بیشتر بررسی خواهیم کرد روی عملکرد $@ در اسکریپت Bash هنگام استفاده از سیستم اوبونتو 20.04:

مثال 01:

در ابتدا باید از توزیع Ubuntu 20.04 به عنوان کاربر sudo وارد شوید. پس از ورود موفقیت آمیز، خط فرمان را برای شروع کار باز می کنیم. برای باز کردن آن از «Ctrl+Alt+T“. به عنوان یک جایگزین، ما همچنین می توانیم از ناحیه Activity برای پیدا کردن آن استفاده کنیم console terminal از نوار جستجو بعد از بازکردن صحیح آن شروع به کار می کنیم روی $@ در Bash با ایجاد یک فایل Bash جدید. بنابراین، ما از “دست زدن به” پرس و جو با نام یک فایل به صورت ”one.sh“. توجه داشته باشید که فایل Bash حاوی یک “.sh” افزونه. اصابت “وارد” پس از نوشتن دستورالعمل زیر در پوسته آن را اجرا کنید. فایل Bash تازه ایجاد شده را در فهرست اصلی Ubuntu 20.04 خود پیدا خواهید کرد:

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

$@ در اسکریپت Bash چیست؟

اکنون فایل Bash ایجاد شده است. ما باید آن را در یک ویرایشگر باز کنیم تا اسکریپت Bash را در آن اضافه و ویرایش کنیم. بنابراین، ما آن را با استفاده از ” باز خواهیم کردGNU نانو” ویرایشگر از terminal پوسته. از این رو، ما از «نانو” دستورالعمل کلمه کلیدی در پوسته به همراه نام یک فایل به صورت ”one.sh” مطابق تصویر زیر:

$ نانو one.sh

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

شما باید اسکریپت سه خطی زیر را در فایل Bash خود بنویسید.one.sh“. ابتدا پسوند Bash را در فایل اضافه کرده ایم. پس از آن، ما از سه عبارت echo در این اسکریپت برای استفاده از سه کاراکتر خاص و خروجی نتایج مربوطه استفاده کرده ایم. توجه داشته باشید که “$#کاراکتر ” برای خروجی تعداد کل ورودی یا رشته پارامترهای مقادیری که توسط کاربر در پوسته اضافه خواهد شد استفاده شده است. “$@کاراکتر ” برای نشان دادن آن سه مقدار یا پارامتر استفاده می شود روی را terminal، و “دلار؟” کاراکتر وظیفه خاصی دارد که در صورت موفقیت آمیز بودن آخرین دستور، 0 را برگرداند. در باش، “Ctrl+S” میانبر اغلب برای ذخیره فایل Bash در حالی که به نوعی باز است استفاده می شودنانو” ویرایشگر بنابراین، فایل one.sh خود را ذخیره کنید و آن را با استفاده از ” رها کنیدCtrl+X” برای برگرداندن آن به terminal:

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

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

اکنون، اسکریپت Bash جدید ایجاد شده در سیستم ما ذخیره و ایمن شده است. وقت آن رسیده است که آن را قابل اجرا کنیم. باید توجه داشته باشید که کاراکتری مانند $@ پارامترهای مقادیر را در داخل می گیرد terminal در حین اجرای یک فایل بنابراین، از “bash” پرس و جو کلمه کلیدی در پوسته اوبونتو با نام یک فایل ”one.sh” و تخصیص مقادیر پارامتر، همانطور که گفته شد. می‌توانید از عکس زیر ببینید که ما 3 مقدار پارامتر رشته‌ای را برای اسکریپت Bash one.sh ارائه کرده‌ایم، به عنوان مثال، Aqsa، Rimsha، و Awan. نتیجه خروجی نمایش خروجی 3 خطی است. خط اول تعداد کل پارامترهای اضافه شده را نشان می دهد. خط دوم مقادیر آرگومان های ارسال شده توسط کاربر را نمایش می دهد. در آخر، خط سوم 0 را به عنوان مقدار بازگشتی خود نشان می دهد زیرا دستور خط دوم موفقیت آمیز شده است:

$ bash one.sh Arg1 Arg2 Arg3

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

مثال 02:

برای درک بیشتر کاراکتر $@ و مفهوم عملکرد، به مثال دیگری در مقاله خود نیاز داریم. بنابراین، ما همان پرونده را باز خواهیم کرد، “one.sh“، با GNU ویرایشگر نانو برای این کار، دستورالعمل زیر را امتحان کرده و برای ادامه روی دکمه «Enter» از صفحه کلید کلیک می کنیم:

$ نانو one.sh

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

از آنجایی که فایل اکنون باز می شود، یک اسکریپت Bash جدید و به روز شده را به آن اضافه خواهیم کرد. این بار، ما از یک اسکریپت ساده Bash برای تشریح عملکرد کاراکتر $@ استفاده کرده‌ایم. بنابراین، شما باید اسکریپت Bash خود را با اسکریپت نشان داده شده در تصویر زیر به روز کنید. ما از حلقه for استفاده می کنیم تا هر بار یک آیتم را به عنوان آرگومان هایی که در $@ توسط کاربر ارسال می شود، بگیریم روی را terminal. هر مورد نمایش داده می شود روی را terminal از طریق عبارت echo پس از ذخیره فایل، به فایل بازگشتیم console برای اجرای اسکریپت Bash:

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

در دستورالعمل Bash، ما 5 آرگومان رشته ای را به همراه نام یک فایل ارسال کرده ایم.one.sh“. با زدن “وارد” کلید، terminal با هر آرگومان جداگانه نمایش داده شده است:

$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

مثال 03:

بیایید نگاه دقیق‌تری به مثال دیگری از $@ داشته باشیم که در بالا توضیح داده شد. در این مثال، ما از $@ و $* برای مقایسه و متمایز کردن کار هر دو کاراکتر خاص استفاده خواهیم کرد. به این ترتیب، احتمالاً می‌توانیم کاراکتر $@ را به درستی درک کنیم. برای باز کردن فایل از قبل ایجاد شدهone.sh“، دستور زیر را در خود بنویسید و سپس اجرا کنید console اوبونتو 20.04.

$ نانو one.sh

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

ما کد مثال بالا را به روز کرده ایم. تمام کاری که ما انجام دادیم اضافه کردن همان کد برای “$*” در حلقه for. ما کد Bash را ذخیره کرده و از فایل خارج شده ایم:

پیشنهاد می‌کنیم بخوانید:  مسیر مطلق یک اسکریپت را در Bash دریافت کنید

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

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

$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

مثال 04:

در آخرین مثال خود، عملکرد کاراکتر $@ را از طریق توابع و حلقه ها توضیح خواهیم داد. بنابراین، برای به روز رسانی اسکریپت Bash، فایل ” را باز کرده ایم.one.sh” یک بار دیگر توسط ”نانودستور ویرایشگر در پوسته به صورت زیر است:

$ نانو one.sh

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

این بار، ما از متد foo() برای چاپ آرگومان های ارسال شده در متدهای مربوطه از کاراکترهای خاص استفاده کرده ایم تا زمانی که چیزی به دست نیاید. روش “دلار 1” برای کاراکتر ویژه $@ است و ”دلار 2برای عملکرد کاراکتر $*. هر دو متد شامل فراخوانی متد foo() با کاراکترهای ویژه $@ و $* به طور جداگانه برای ارسال آرگومان ها هستند. متدهای Dollar1 و Dollar2 پس از دستورات پژواک فراخوانی می شوند در حالی که هر دو دارای سه آرگومان مشابه مقادیر پارامتری خود هستند:

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

اجرای کد خروجی را برای هر دو روش Dollar1 و Dollar2 به طور جداگانه نشان می دهد. “Using $@” خروجی را برای $@ نشان می دهد و “Using $*” خروجی کاراکتر $* را به طور جداگانه نشان می دهد.

$ bash one.sh

$@ در اسکریپت Bash چیست؟$@ در اسکریپت Bash چیست؟

نتیجه:

این راهنما روش استفاده از $@ در اسکریپت Bash، اعلام آن و روش عملکرد آن را شرح داده است. ما همچنین تفاوت بین $@ و سایر شخصیت‌های مرتبط با دلار را توضیح داده‌ایم تا آن را قابل درک‌تر کنیم. امیدواریم در حین اجرای آن نیز از آن لذت برده باشید.

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

زمان انتشار: 1402-12-30 15:51:03

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

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

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