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

سرور مجازی NVMe

صادرات متغیرها در Bash

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


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

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

مثال شماره 1: استفاده از فرمان صادرات در Bash.

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

صادرات

صادرات متغیرها در Bash

فرمان صادرات bash دارای پرچم هایی است که عملکردهای مختلفی را ارائه می دهند. پوسته bash زیر با دستور صادرات که از پرچم “-p” استفاده می کند، مستقر می شود. پرچم “-p” معمولاً برای فهرست کردن همه متغیرهای صادر شده از پوسته فعلی استفاده می شود. وقتی دستور “export -p” را وارد می کنیم روی پوسته bash، لیست تمام نام های پوسته صادراتی به صورت زیر بازگردانده می شود:

صادرات -p

صادرات متغیرها در Bashصادرات متغیرها در Bash

همانطور که در تصویر بالا مشاهده می شود، تمام فرآیندهای جدید به متغیرهای محیط سیستم منتقل می شوند. همچنین می‌توانیم با استفاده از پرچم دیگری که “-n” است، از شر متغیرهای محیطی خلاص شویم. دستور صادرات زیر با پرچم “-n” تنظیم می شود تا این متغیرهای محیطی را تنظیم کند. خروجی نشان می دهد که دستور “export -p” با دستور “export -n” لغو شده است، متغیر به جلسه پوسته در حال اجرا محدود می شود.

پیشنهاد می‌کنیم بخوانید:  چگونه می توانم دایرکتوری ها را از grep -R حذف کنم؟

صادرات -n

صادرات متغیرها در Bashصادرات متغیرها در Bash

مثال شماره 2: استفاده از دستور Export در Bash برای صادرات متغیرها.

استفاده از دستور صادرات در پوسته bash در قسمت فوق توضیح داده شده است. اکنون از دستور export برای صادرات متغیر bash shell استفاده می کنیم. دستور متغیر export تمام دستوراتی که در پوسته اجرا می شوند را قادر می سازد تا به متغیر دسترسی داشته باشند. در اینجا از دستور export با نام متغیر “Msg” استفاده کرده ایم. متغیر صادراتی “Msg” با مقدار رشته مقداردهی اولیه می شود. سپس از دستور echo استفاده کردیم که با متغیر «$Msg» ارسال می‌شود. دستور echo مقدار رشته ذخیره شده در متغیر “$Msg” را نمایش می دهد.

صادرات پیام=” سلام دنیا”
اکو پیام

صادرات متغیرها در Bashصادرات متغیرها در Bash

متغیر محیطی “Msg” ایجاد شده با استفاده از دستور صادرات نیز می تواند حذف شود. دستور unset در پوسته bash استفاده می شود که با متغیر محیطی “Msg” مشخص شده است تا مقدار ذخیره شده در داخل آن حذف شود. هنگامی که متغیر “Msg” را تکرار کردیم، خروجی خالی را همانطور که با دستور unset حذف شده بود، برگرداند.

تنظیم نشده پیام
اکو $ Msg

صادرات متغیرها در Bashصادرات متغیرها در Bash

مثال شماره 3: استفاده از دستور Export در Bash برای صادرات توابع یا متغیرها.

متغیر صادرات در پوسته bash با دستور در حال اجرا نشان داده می شود. همچنین می توانیم از دستور export پوسته bash برای صادرات تابع bash استفاده کنیم. در پوسته زیر ابتدا نام تابع “func()” را تعریف کرده ایم که در آن دستور echo را برای چاپ عبارت “Bash shell script” تنظیم کرده ایم. سپس، روی در خط بعدی پوسته، از دستور export با گزینه “-f” استفاده کردیم. گزینه “-f” به فرمان صادرات اطلاع می دهد که این تابع است. در غیر این صورت، اگر از تابع بدون گزینه “-f” با دستور صادرات استفاده کنیم، تابع یک متغیر در نظر گرفته می شود. دستور “export -f” با تابع “func()” در زیر داده شده است. پس از آن دستور bash را اجرا کردیم و سپس خط بعدی با نام تابع “func” ارائه شد که عبارت داخل آن را برگرداند.

تابع() { اکو “اسکریپت پوسته Bash”;}
صادرات تابع
ضربه شدید

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

تابع

صادرات متغیرها در Bashصادرات متغیرها در Bash

مثال شماره 4: استفاده از دستور Export در Bash برای صادر کردن متغیر با مقدار.

دستور export همچنین به ما این امکان را می دهد که قبل از صادرات متغیر، مقداری را تعیین کنیم. دستور در پوسته bash زیر داده شده است که در آن ابتدا متغیر “x” را اعلام کرده و مقدار عددی “10” را در مقابل آن ارائه می کنیم. پس از آن، از دستور export استفاده کرده و متغیر x را به آن ارسال کردیم. سپس برای چاپ مقدار متغیر محیطی “x” در پوسته فعلی، روش printenv را فراخوانی کردیم. دستور printenv لینوکس مقدار “10” متغیر صادرات “x” را برگرداند.

ایکس=10
صادرات ایکس
printenv x

صادرات متغیرها در Bashصادرات متغیرها در Bash

مثال شماره 5: استفاده از فرمان Export در Bash با استفاده از تابع.

اکنون، ما در حال ایجاد یک فایل bash جداگانه برای بدست آوردن نتایج مورد انتظار از دستور صادرات هستیم. در دستور bash زیر، ابتدا کلمه کلیدی echo را فراخوانی کرده ایم که دستور صادرات را با دو گیومه محصور کرده است. دستور صادرات برای تنظیم متغیر محیطی «Str» استفاده می‌شود و متغیر «Str» با عبارت «عبارت جدید من» که در گیومه‌های تکی پیچیده شده است، تعریف می‌شود. پس از این، از نماد راست زاویه “>” استفاده کرده و نام فایل “bashScript.sh” را مشخص کردیم. در مرحله بعد، از دستور bash “source” استفاده کردیم که نام فایل “bashScript.sh” را برای وارد کردن متغیر صادراتی به پوسته bash بدون ایجاد پوسته فرعی می گیرد. هنگامی که دستور منبع را اجرا کردیم، مقدار رشته متغیر صادراتی “Str” را در پوسته bash نمایش داد که در صفحه bash shell زیر نشان داده شده است.

اکو “export Str=”بیانیه جدید من”” > bashScript.sh
منبع bashScript.sh

اکو $str

صادرات متغیرها در Bashصادرات متغیرها در Bash

نتیجه

دستور صادرات داخلی پوسته bash برای صادر کردن متغیرهای محیطی به زیر پوسته در نظر گرفته شده است. دستور صادرات را با چند مثال نشان داده ایم. علاوه بر این، ما گزینه های مربوط به دستور صادرات “-p”، “-n” و “-f” را توضیح دادیم. مجموعه متغیر با فرمان صادرات را می توان با هر پوسته فعلی bash دوباره استفاده کرد و به دست آورد. ما همچنین یک متغیر صادراتی داده ایم که از طریق اسکریپت bash قابل دسترسی است.

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

زمان انتشار: 1402-12-29 11:15:05

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

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

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