متغیرها (Variables)
در بش، متغیر (Variable) مثل برچسب روی جعبه است. تو داده را می گذاری داخلش و هر وقت خواستی برمی داری. این کار، نوشتن اسکریپت ها را ساده و سریع می کند.
تعریف پایه متغیرها
متغیرها در بش «بدون نوع» هستند. یعنی هر داده ای می گیرند. برای مقداردهی، نام و علامت = را بدون فاصله می نویسیم. برای خواندن مقدار، از $ قبل از نام استفاده می کنیم.
name="John Doe"
echo "Hello, $name!"
number=42
echo "The number is $number"
متغیرهای محیطی (Environment Variables)
متغیر محیطی روی اجرای برنامه ها اثر می گذارد. مثلا PATH مسیر جست وجوی برنامه هاست. با echo می توانیم مقدارش را ببینیم.
# Display the PATH environment variable
echo "Your PATH is $PATH"
محلی و سراسری (Local vs Global)
متغیر محلی فقط داخل تابع زنده است. متغیر سراسری همه جا قابل دسترسی است. کلیدواژه local متغیر را محلی می کند.
# Define a local variable in a function
my_function() {
local local_var="I am local"
echo $local_var
}
my_function
کارهای رایج با متغیرها
با متغیرها می توان رشته ها را به هم چسباند و حتی حساب کرد. چسباندن یعنی کنار هم گذاشتن متن ها. حساب هم با دستور $(( ... )) انجام می شود.
# Concatenation
greeting="Hello, "
name="World"
echo "$greeting$name"
# Arithmetic
num1=5
num2=10
sum=$((num1 + num2))
echo "The sum is $sum"
گام های تمرینی سریع
- یک متغیر بساز و مقدار بده.
- با
echoمقدارش را چاپ کن. PATHرا ببین و تفاوت را درک کن.
نکته: اطراف علامت مساوی فاصله نگذار؛ خطا می گیری.
پیوندهای داخلی مرتبط
برای ساخت اسکریپت، صفحه اسکریپت را ببین. همچنین قوانین نوشتن را در سینتکس مرور کن. اگر با انواع داده کنجکاوی، به انواع داده سر بزن.
جمع بندی سریع
- بش نوع ثابت برای متغیر ندارد.
- مقداردهی بدون فاصله انجام می شود.
$برای دسترسی به مقدار است.localمتغیر را محلی می کند.- چسباندن و حساب ساده ممکن است.