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

سرور مجازی NVMe

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

0 19
زمان لازم برای مطالعه: 7 دقیقه


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

فهرست مطالب:

  1. معرفی
  2. یک متغیر اعلام کنید
  3. یک متغیر را با استفاده از دستور “Echo” چاپ کنید
  4. با استفاده از دستور “Printf” یک متغیر را چاپ کنید
  5. Local و متغیر جهانیس
  6. متغیر استدلال یک تابع Bash
  7. صادر کردن متغیر
  8. متغیرهای خط فرمان
  9. استفاده از متغیر $PATH
  10. استفاده از متغیر $RANDOM

معرفی

هیچ نوع داده ای برای اعلان متغیرها در Bash اجباری نیست زیرا Bash یک زبان برنامه نویسی با تایپ ضعیف است. با این حال، دستور “declare” را می توان برای اعلام یک متغیر با ذکر آن نوع داده از متغیر استفاده کرد. متغیر Bash بدون هیچ نماد “$” مانند سایر زبان های اسکریپت اعلام می شود اما از نماد “$” در مقابل نام متغیر استفاده می شود print مقدار متغیر هنگام تخصیص مقدار به متغیر، Bash هیچ فاصله ای را قبل و بعد از عملگر انتساب(=) پشتیبانی نمی کند.

1. متغیرهای ویژه

Bash دارای چند متغیر خاص است که برای اهداف خاص استفاده می شود. برخی از متغیرهای ویژه ای که بیشتر در اسکریپت Bash استفاده می شوند در زیر توضیح داده شده اند:

متغیر هدف
$$ عادت دارد print جاری process شناسه.
$0 عادت دارد print نام اسکریپت در حال اجرا
1 تا 5 دلار عادت دارد print پنج مقدار آرگومان اول
$@ برای خواندن تمام آرگومان هایی که در زمان اجرای اسکریپت ارسال می شوند استفاده می شود.
$# برای شمارش تعداد کل آرگومان ها استفاده می شود.
دلار؟ این شامل وضعیت خروج جریان است process.

2. متغیرهای محیطی

متغیرهای محیطی مانند متغیر سراسری کار می کنند و این متغیرها از هر پوسته قابل دسترسی هستند. دستور “env” لیستی از همه متغیرهای محیطی Bash را چاپ می کند. اهداف استفاده از برخی متغیرهای مفید محیطی به شرح زیر ذکر شده است:

متغیر هدف
$LANG این شامل اطلاعات مجموعه کاراکتر فعلی است.
$PATH حاوی مقدار مسیر ذخیره شده است.
USER $ این شامل نام کاربری است که اسکریپت را اجرا می کند.
$LOGNAME این شامل نام کاربری فعلی ورود به سیستم است.
$HOME این شامل محل فهرست اصلی است.
تصادفی $ برای تولید یک عدد تصادفی استفاده می شود.

برو به بالا

یک متغیر اعلام کنید

اسکریپت زیر روش های مختلفی را برای اعلان متغیرها در اسکریپت Bash نشان می دهد. دستور “declare” با گزینه “-i” در اسکریپت برای اعلام یک متغیر از نوع داده عدد صحیح استفاده می شود. اگر مقدار رشته ای به این متغیر اختصاص داده شود، 0 به متغیر اختصاص داده می شود. اولین متغیر با نام “$Str” حاوی یک رشته است. متغیر دوم با نام “$n1” حاوی یک عدد است. متغیر سوم با نام $n2 نیز حاوی عددی است که با دستور “declare” اعلام می شود. دستور “read” در اسکریپت برای تخصیص یک مقدار ورودی که از کاربر به متغیر چهارم به نام “$val” گرفته می شود استفاده می شود.

#تخصیص یک مقدار رشته

خ=“لینوکس”

#تخصیص یک مقدار عددی بدون دستور ‘declare’

n1=550

#با دستور “اعلان” یک مقدار عددی اختصاص دهید

اعلام -من n2=340

#تخصیص مقدار پس از محاسبه

((نتیجه=n1+n2))

#مقدار گرفته شده از کاربر را به یک متغیر اختصاص دهید

خواندن “یک رشته را وارد کنید:” val

#متغیری را به متغیر دیگری اختصاص دهید

n2=$val

اسکریپت با مقدار ورودی عددی 89 که عددی است اجرا می شود. بنابراین، متغیر “$n2” حاوی مقدار 89 است.

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

اسکریپت با مقدار ورودی رشته “test” که یک رشته است اجرا می شود. بنابراین، متغیر “$n2” حاوی مقدار 0 است زیرا “$n2” با نوع داده عدد صحیح اعلام شده است.

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

برو به بالا

یک متغیر را با استفاده از دستور “Echo” چاپ کنید

“Echo” یکی از دستوراتی است که می توان از آن استفاده کرد print خروجی در terminal. در اسکریپت زیر، مقدار دوره به عنوان ورودی از کاربر گرفته می شود و مقدار ورودی با یک رشته دیگر با استفاده از ” چاپ می شود.echo” فرمان استفاده از دو گیومه (“) با ” ضروری استecho” فرمان به print مقدار متغیر در غیر این صورت، نام متغیر چاپ می شود.

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

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

#مقدار گرفته شده از کاربر را اختصاص دهید

خواندن “نام دوره را وارد کنید:” دوره

#مقدار متغیر را با استفاده از ` چاپ کنیدecho`

echo “نام دوره است دوره $

خروجی زیر پس از اجرای اسکریپت با مقدار “CSE-407” ظاهر می شود:

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

برو به بالا

با استفاده از دستور “Printf” یک متغیر را چاپ کنید

“Printf” یکی دیگر از دستورات Bash است print خروجی فرمت شده در terminal. در اسکریپت زیر دو مقدار رشته به متغیرها اختصاص داده شده است. سپس از دستور printf استفاده می شود print مقادیر متغیرهای با مشخص کننده “%s”. دو مشخص کننده “%s” در اسکریپت استفاده می شود print مقادیر دو متغیر

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

# دو مقدار رشته را اختصاص دهید

دوره_کد=“CSE406”

دوره_معلم=“الکس”

#متغیرها را با استفاده از “printf” چاپ کنید

printf دوره %s توسط %s گذرانده شده است\n $course_code $course_teacher

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. مقادیر متغیرها با سایر مقادیر رشته ای چاپ می شوند روی موقعیت مشخص کننده “%s”:

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

برو به بالا

Local و متغیرهای جهانی

متغیرهایی که در خارج از عملکرد اعلام شده اند متغیرهای “جهانی” نامیده می شوند و متغیرهایی که در داخل عملکرد اعلام می شوند متغیرهای “محلی” نامیده می شوند. کلمه کلیدی “محلی” برای تعریف متغیرهای محلی استفاده می شود. استفاده از متغیرهای سراسری و محلی در اسکریپت زیر نشان داده شده است. در اسکریپت، 87 در متغیر سراسری “$num” و 25 در متغیر محلی “$num” اختصاص داده شده است.

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

#تخصیص یک متغیر سراسری

تعداد=87

تابع تابع {

#متغیر سراسری را چاپ کنید

echo “مقدار متغیر جهانی است تعداد $

#متغیر محلی با همین نام تعریف کنید

محلی تعداد=25

#متغیر محلی را چاپ کنید

echo “مقدار متغیر محلی است تعداد $

}

# تابع را فراخوانی کنید

تابع

#متغیر سراسری را دوباره چاپ کنید

echo «مقدار متغیر سراسری پس از فراخوانی تابع است تعداد $

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. با توجه به خروجی ، متغیر جهانی پس از اجرای عملکرد بدون تغییر باقی می ماند و مقدار متغیر جهانی 87 قبل و بعد از فراخوانی عملکرد است.

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

برو به بالا

متغیر استدلال تابع Bash

روش ارسال مقادیر آرگومان به توابع Bash مانند سایر زبان های برنامه نویسی نیست. هنگام فراخوانی تابع، مقادیر آرگومان تابع با فاصله ارسال می شود. متغیرهای “$1″، “$2″، .. و “$n” در داخل تابع برای خواندن مقادیر آرگومان استفاده می‌شوند. روش استفاده از سه آرگومان تابع در اسکریپت زیر نشان داده شده است. در اسکریپت زیر ، سه مقادیر رشته ای به عملکردی به نام book_names () منتقل می شود که توسط متغیرهای “1 دلار” ، “2 دلار” و “3 دلار” خوانده می شود. این مقادیر آرگومان با قالب بندی توسط دستور printf چاپ می شوند.

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

نام_کتاب()

{

#مقادیر آرگومان را بخوانید

کتاب 1=1 دلار

کتاب 2=2 دلار

کتاب 3=3 دلار

echo “نام کتاب ها عبارتند از:”

#مقادیر آرگومان را چاپ کنید

printf “1. %s\n2. %s\n3. %s\n $book1 $book2 $book3

}

# تابع را با 3 آرگومان فراخوانی کنید

نام_کتاب “مرجع جیبی Bash” “آموزش پوسته Bash” “کتاب آشپزی بش”

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. شماره سریال و خط جدید به خروجی اضافه می شود:

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

برو به بالا

صادر کردن متغیر

گاهی اوقات، به اشتراک گذاری مقدار متغیر در چندین پوسته نیاز دارد. “exportدستور ” برای انجام این کار استفاده می شود. روش استفاده از “exportدستور ” در این قسمت از آموزش نشان داده شده است.

دستورات زیر را اجرا کنید تا بررسی کنید که چگونه متغیر پس از اجرای دستور ریست می شود.bash” فرمان در اینجا، یک مقدار رشته روی متغیر «$OS» تنظیم شده و بعداً در آن چاپ می‌شود terminal. سپس، زمانی که متغیر “$OS” پس از اجرای “bashدستور ” هیچ چیزی چاپ نمی شود زیرا تمام متغیرهای پوسته پس از اجرای ” ریست می شوندbash” فرمان

$ سیستم عامل=“اوبونتو”

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

$ echo سیستم عامل $

$ bash

$ echo سیستم عامل $

خروجی زیر نشان می دهد که مقدار متغیر “$OS” پس از اجرای ” خالی است.bash” دستور:

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

اگر می خواهید مقدار متغیر پوسته خاص را در پوسته دیگری به اشتراک بگذارید، باید از ” استفاده کنید.exportدستور ” قبل از اجرای ”bash” فرمان دستورات زیر را اجرا کنید export مقدار متغیر “$OS” و print مقدار پس از اجرای “bash” فرمان در اینجا، متغیر “$OS” قبل از چاپ متغیر و اجرای “” صادر می شود.bash” فرمان سپس، متغیر “$OS” دوباره چاپ می شود.

$ سیستم عامل=“CentOS”

$ export سیستم عامل

$ echo سیستم عامل $

$ bash

$ echo سیستم عامل $

خروجی زیر نشان می دهد که مقدار متغیر “$OS” حاوی مقدار قبلی پس از اجرای “bash” دستور:

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

متغیر صادراتی در اسکریپت زیر برای بررسی اینکه آیا متغیر دارای مقدار قبلی است یا خیر استفاده می شود:

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

#متغیر صادر شده را چاپ کنید

echo “سیستم عامل است سیستم عامل $

خروجی زیر نشان می‌دهد که متغیر «$OS» صادر شده حاوی مقدار قبلی است CentOS:

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

برو به بالا

متغیرهای خط فرمان

این command-line آرگومان ها برای ارسال مقادیر به اسکریپت در زمان اجرای اسکریپت استفاده می شوند. استفاده از متغیرهای “$#”، “$0” و “$1” در اسکریپت زیر نشان داده شده است. تعداد کل command-line آرگومان ها توسط متغیر “$#” شمارش می شوند و در متغیر “$total” ذخیره می شوند. اگر مقدار “$ کل” بیش از 0 باشد ، نام پرونده اسکریپت با استفاده از متغیر “0 $” چاپ می شود و اولین مقدار آرگومان با استفاده از متغیر “1 $” چاپ می شود. اگر هیچ آرگومانی در زمان اجرای اسکریپت ارسال نشود، یک پیغام خطا چاپ می شود.

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

#تعداد کل آرگومان ها را بشمارید

جمع=$#

اگر [ $total -ne 0 ]

سپس

#تعداد کل آرگومان ها را چاپ کنید

echo “کل آرگومان های خط فرمان هستند $ مجموع

#نام اسکریپت را چاپ کنید

echo “نام اسکریپت $0 است”

#آگومان اول را چاپ کنید

echo “مقدار آرگومان اول $1 است”

دیگر

#چاپ پیام

echo “هیچ مقدار آرگومان داده نشده است.”

فی

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

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

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

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

برو به بالا

استفاده از متغیر $PATH

“$PATH” یکی از متغیرهای محیطی مهم Bash است. مکان فایل های اجرایی مختلف و فایل های اسکریپت در این متغیر ذخیره می شود. هنگامی که کاربر سعی می کند به هر فایل اجرایی یا فایل اسکریپت دسترسی پیدا کند، پوسته مکان آن فایل را در متغیر “$PATH” بررسی می کند. مقدار این متغیر بر اساس آن قابل تغییر است روی نیازمندی ها.

برای بررسی خروجی فعلی متغیر “$PATH” دستور زیر را اجرا کنید:

$ echo $PATH

فرض کنید می خواهید مکان “/home/fahmida/tempdir” را در متغیر “$PATH” اضافه کنید. دستورات زیر را برای اضافه کردن مکان جدید در “$PATH” و مقدار فعلی متغیر “$PATH” دوباره اجرا کنید:

$ مسیر=${PATH}:/خانه/فهمیده/tempdir

$ echo $PATH

خروجی زیر پس از اجرای دستورات ظاهر می شود. مکان جدید در انتهای متغیر “$PATH” اضافه می شود:

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

برو به بالا

استفاده از متغیر $RANDOM

Bash هیچ تابع تصادفی برای تولید اعداد تصادفی مانند سایر زبان های برنامه نویسی ندارد. برای تولید اعداد در Bash می توان از متغیر ویژه ای که “$RANDOM” است استفاده کرد. اسکریپت زیر با پنج بار تکرار حلقه “for” پنج عدد تصادفی تولید می کند. طول هر عدد تصادفی ممکن است در هر تکرار حلقه متفاوت باشد.

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

echo “تولید 5 عدد تصادفی:”

حلقه را 5 بار تکرار کنید

برای من که در {1..5}

انجام دادن

#چاپ اعداد تصادفی

echo تصادفی $

انجام شده

خروجی مشابه زیر پس از اجرای اسکریپت ظاهر می شود. با توجه به خروجی، سه عدد 5 رقمی و دو عدد 3 رقمی تولید می شود. اگر اسکریپت را دوباره اجرا کنید، خروجی تغییر خواهد کرد:

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

برو به بالا

نتیجه

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

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

زمان انتشار: 1403-01-06 07:56:03

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

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

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