Bash امکان توسعه الگوها و کاراکترها را فراهم میکند تا قبل از اجرای دستورات به مقادیر واقعی تبدیل شوند. کاربران میتوانند با کمک این مکانیزمها مسیرها، متغیرها، محاسبات، خروجی دستورها و نحوه نمایش متن را کنترل کنند. این مقاله مراحل مختلف توسعه در Bash را بررسی میکند.
echo *
تمام فایلهای دایرکتوری جاری را نمایش میدهد.
echo D*
فایلهایی که با D شروع میشوند را لیست میکند.
echo .[!.]*
فقط فایلهای مخفی را بدون نمایش .
و ..
لیست میکند. روش جایگزین:
ls -A
echo ~
دایرکتوری خانگی کاربر فعلی را نمایش میدهد.
echo ~username
دایرکتوری خانگی کاربر دیگر را نمایش میدهد.
echo $((2 + 2))
محاسبه عددی ساده.
echo $(((5**2) * 3))
نمایش حاصل توان و ضرب: ۷۵
echo Front-{A,B,C}-Back
خروجی: Front-A-Back Front-B-Back Front-C-Back
mkdir {2007..2009}-{01..12}
ایجاد پوشههایی مانند 2007-01
تا 2009-12
echo $USER
نمایش نام کاربر فعلی.
printenv | less
نمایش لیست تمام متغیرهای محیطی.
echo $(ls)
قرار دادن خروجی دستور داخل دستور دیگر.
ls -l $(which cp)
نمایش جزئیات cp
echo text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER
echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER"
برخی توسعهها حفظ میشوند اما brace و مسیر فعال نمیشوند.
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER'
همهٔ توسعهها غیرفعال شده و متن دقیقاً همانطور نمایش داده میشود.
echo "Your balance is: \$5.00"
جلوگیری از تفسیر نادرست $5
به عنوان متغیر.
mv bad\&filename good_filename
استفاده از \ برای جلوگیری از رفتار خاص &
کد | کاربرد |
---|---|
\a | بوق |
\n | سطر جدید |
\t | تب |
\r | بازگشت به ابتدای سطر |
\b | بکاسپیس |
sleep 10; echo -e "Time's up\a"
sleep 10; echo "Time's up" $'\a'
توسعهها، نقلقولها و روشهای جایگزینی در Bash ابزارهای بنیادی برای کنترل اجرای دستورات و پردازش دادهها هستند. با درک نحوه تفسیر متغیرها، خروجی دستورات، الگوها و کاراکترهای خاص، میتوان اسکریپتهای هوشمند، خروجیهای دقیق و رفتار دقیق ترمینال را طراحی کرد.