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

سرور مجازی NVMe

روش استفاده از متغیرهای خاص در Bash

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


در این مقاله استفاده از متغیرهای ویژه در Bash را برجسته می کنیم. این یک فایل است که ممکن است استفاده شود process دستوراتی که می توان در a وارد کرد terminal پنجره این پست شامل چندین دستور برای اجرا می باشد. ابتدا به تعریف متغیرهای خاص و هدف آنها پرداخته خواهد شد.

متغیرهای ویژه در Bash چیست؟

متغیرهای ویژه آنهایی هستند که معانی آنها از پیش تعریف شده است. آنها برای مدیریت جریان کنترل اسکریپت Bash مستقر شده اند.

به دست آوردن ارزش های آنها ممکن است اما ارائه ارزش ها برای آنها غیرممکن است.

Bash vs Shell

یک نرم افزار کامپیوتری معروف به “پوسته” دستورات را دریافت می کند، آنها را تفسیر می کند و سپس آنها را برای پردازش به سیستم عامل می فرستد. اکثر سیستم عامل های ساخته شده است روی لینوکس حداقل یک نرم افزار پوسته دارد. Dash، Bash یا هر دو احتمالاً برنامه پوسته خواهند بود.

استفاده از Bash آسان و قابل حمل کمتر از اسکریپت پوسته است

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

نمونه هایی از متغیرهای ویژه در Bash:

در اینجا چند نمونه از متغیرهای ویژه در Bash آورده شده است.

متغیر هدف
-$* ستاره دلار، کل پارامتر را در یک رشته ذخیره می کند
-$# چندین آرگومان مشخص شده در خط فرمان است
$0 این نشان دهنده نام فایل است
1 دلار نشان دهنده اولین استدلال است
2 دلار این دومین آرگومان از خط فرمان است
$@ برای هر رشته ای که به عنوان یک آرگومان جداگانه در نظر گرفته می شود استفاده می شود
دلار؟ این وضعیت خروجی آخرین فرمان را نشان می دهد.
$$ این می دهد process شناسه پوسته فعلی
$! این PID آخرین کار پس زمینه انجام شده را نشان می دهد
$ این PID آخرین کار پس زمینه انجام شده را نشان می دهد
کاربر کاربری که اسکریپت با نام کاربری او اجرا می شود
پیشنهاد می‌کنیم بخوانید:  دریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظار

اکنون می‌توانیم از نمونه‌هایی از متغیرهای خاص استفاده کنیم و ببینیم چگونه می‌توانیم آنها را در برنامه‌های خود اجرا کنیم.

مثالی از $*:

این مثال برای تمام سطوح توسعه دهندگان است. در اینجا، خواهیم دید که چگونه و کجا می توانیم از متغیر ویژه $* استفاده کنیم.

اکو “این” “مقاله بش” من است. $*

در این مثال بالا، دو جمله مجزا را به صورت دابل گیومه می نویسیم و در انتهای این جمله، نیم ویرگول (;) و $*(دلار*) اضافه می کنیم. در نتیجه، ما یک جمله واحد دریافت می‌کنیم که به این معنی است که Bash این را به عنوان یک نقل قول تایید می‌کند.

در اینجا نتیجه است:

این مقاله Bash من است

مثال 0 دلار:

$0 یک متغیر ویژه از bash است که نام فایل اسکریپتی که در شما در حال اجرا است را نشان می دهد terminalبرای مثال، اگر تایپ کنیم:

اکو $0

بنابراین، در مثال بالا وقتی $0 را تایپ می کنیم، در نتیجه خروجی main.sh دریافت می کنیم. بنابراین، main .sh نام فایل ما است.

اصلی.ش

مثال دلار؟:

دلار؟ یک متغیر ویژه از bash است که کد خروج آخرین فرمان را ارائه می کند terminal. دانستن آخرین دستور، کاربر را برای ادامه اسکریپت خود تسهیل می کند.

بنابراین، در کد زیر اگر “echo $?” را تایپ کنیم.

اکو دلار؟

خروجی در زیر آورده شده است:

0

حالا که $ را تایپ کردیم؟ و اگر نتیجه 0 را در خود دریافت کنیم terminal، به این معنی است که برنامه فعلی به درستی تکمیل شده است. اما اگر نتیجه 1 یا بیشتر مانند (123456789) را دریافت کردیم به این معنی بود که مشکل برنامه نویسی وجود دارد یا با خطا مواجه شدیم.

اجازه دهید بیانیه بالا را با یک قطعه کد ارائه شده در زیر درک کنیم.

rm “من فایل نام”

نتیجه در اینجا نشان داده شده است.

0

rm: نمی توان “من” را حذف کرد فایل نام

: نه اینطوری فایل یا دایرکتوری

ما 0 دریافت کردیم، اما در کد بعدی، با خطا (کد 1) rm: can remove ‘my file name هیچ فایل یا دایرکتوری وجود ندارد. بنابراین، ما هیچ فایلی به نام “نام فایل من” در فهرست خود نداریم، به همین دلیل است که یک خطا به عنوان دریافت کردیم. [execution complete with the exit code 0]

مثالی از $!:

این دلار! (Dollar exclamatory) یک متغیر خاص از bash است که PID (process شناسه) آخرین کار پیشینه انجام شده.

ما نمی‌توانیم برای آنها ارزش قائل شویم، فقط ارجاعات برای آنها پذیرفته می‌شود.

اجازه دهید عبارت بالا را در کدنویسی خود بررسی کنیم terminal با کد زیر:

اکو $!

ما process شناسه کار پس‌زمینه اخیر را می‌توان به عنوان هر عددی که در نتیجه دریافت می‌کنیم در خروجی مشاهده کرد. در خروجی می گوید [Execution completes with exit code 0].

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

مثال $-:

خط فاصله دلار ($-) یک متغیر ویژه است که پرچم های موجود در پوسته Bash را ارائه می دهد.

اجازه دهید مثال و خروجی آن را در ما ببینیم terminal.

اکو $-

پوسته Bash فعلی ما دارای پرچم های -h و -b است که در ما موجود است terminal

hB

از پرچم‌ها برای تنظیم گزینه‌ها و آرگومان‌هایی برای دستوراتی که اجرا می‌کنید استفاده می‌شود.

مثال $$-:

$$ شماره PID پوسته فعال را برمی‌گرداند. صرف نظر از اینکه یک متغیر Bash خاص را از خط فرمان لینوکس یا در اسکریپت پوسته به کار می برید، این تأثیرات متفاوتی دارد. این به این دلیل است که پوسته bash فعال است process شناسه توسط $$ تولید می شود. با این حال، هنگامی که یک اسکریپت جدید را شروع می کنید، یک پوسته Bash جدید راه اندازی می شود.

اجازه دهید از کد زیر برای آزمایش آن استفاده کنیم.

اکو $$

در خروجی زیر، عدد 36 را به عنوان PID دریافت کردیم.

36

اکنون می‌توانیم نمونه ترکیبی متغیرهای ویژه و نتایج آنها را ببینیم تا بتوانیم آن را در یک رابط درک کنیم.

اکو “نام کاربری: $ USER است”

اکو ” کامپیوتر نام میزبان است: $HOSTNAME

اکو «عدد تصادفی است تصادفی $

اکو ” process شناسه این است:$$

در قطعه، از $USER، $HOSTINGNAME، $RANDOM و $$ استفاده کردیم. در نتیجه، خروجی نام میزبان، عدد تصادفی و ما را داریم process شناسه (PID) ما نام کاربری ارائه نکرده‌ایم، بنابراین چیزی به کاربران ما نشان نمی‌دهد.

نام کاربری این است:

کامپیوتر نام میزبان است: 169.254.212.113

عدد تصادفی است 20057

این process شناسه این است:125

نتیجه

ما برنامه‌نویسی bash، متغیرهای ویژه bash، روش و مکان اعمال آنها و روش اجرای برنامه‌ها در آن را پوشش دادیم. هر یک از این متغیرها از یکدیگر منحصر به فرد هستند و به طور متفاوت عمل می کنند. علاوه بر این، نمونه هایی از روش استفاده از آنها در bash را ارائه کردیم terminal و نحو آنها را نیز برای توضیح و ارائه وضوح بیشتر به مبتدیان ارائه دهید.

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

زمان انتشار: 1402-12-29 07:55:04

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

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

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