اعلان شِل، که اغلب نادیده گرفته میشود، قابلیتی قدرتمند و قابل تنظیم در خط فرمان لینوکس است. این اعلان توسط متغیر محیطی PS1 در bash تعریف میشود و اطلاعاتی نظیر نام کاربر، نام میزبان و مسیر جاری را نمایش میدهد. با تغییر PS1، کاربران میتوانند اعلان را بهشکل دلخواه طراحی کنند و اطلاعات دینامیک، رنگها یا حتی ساعت را در آن قرار دهند.
اعلان پیشفرض bash ممکن است بهصورت زیر باشد:
[me@linuxbox ~]$این اعلان توسط PS1 تعریف میشود. برای مشاهده مقدار آن:
echo $PS1[\u@\h \W]\$این اعلان از کدهای خاصی استفاده میکند که bash آنها را تفسیر میکند:
| Sequence | Description |
|---|---|
| \a | صدای زنگ (beep) |
| \d | تاریخ |
| \h | نام میزبان |
| \u | نام کاربر |
| \w | مسیر کامل جاری |
| \W | نام پوشه جاری |
| \t | ساعت (HH:MM:SS) |
| \@ | ساعت (AM/PM) |
| \! | شماره فرمان در تاریخچه |
| \$ | نماد اعلان ($ یا #) |
| \[ | شروع کاراکترهای غیرچاپی |
| \] | پایان کاراکترهای غیرچاپی |
ps1_old="$PS1"PS1="\$ "PS1="
\[\a\]
\$ "PS1="\A \h \$ "17:33 linuxbox $PS1="$ps1_old"| Sequence | Color |
|---|---|
| \033[0;31m | قرمز |
| \033[1;32m | سبز روشن |
| \033[0;33m | قهوهای |
| \033[1;34m | آبی روشن |
| Sequence | Background Color |
|---|---|
| \033[0;41m | پسزمینه قرمز |
| \033[0;42m | پسزمینه سبز |
PS1="
\[\033[0;31m\]
<\u@\h \W>\$
\[\033[0m\]
"PS1="
\[\033[0;41m\]
<\u@\h \W>\$
\[\033[0m\]
"| Escape Code | Action |
|---|---|
| \033[s | ذخیره موقعیت مکاننما |
| \033[u | بازگردانی موقعیت |
| \033[0;0H | حرکت به بالا-چپ |
PS1="
\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]
<\u@\h \W>\$ "برای دائمیکردن اعلان جدید، آن را به ~/.bashrc اضافه کنید:
# اعلان سفارشی با ساعت و نوار رنگی
PS1="..."
export PS1سپس با اجرای دستور زیر، تغییرات اعمال شود:
source ~/.bashrcسفارشیسازی اعلان شِل توسط PS1 این امکان را میدهد که تجربهای کاربردیتر و زیباتر از خط فرمان داشته باشیم. ترکیب رنگها، ساعت، و موقعیت مکاننما باعث تعامل بهتر با محیط bash شده و درک بهتری از ترمینال بهدست میدهد.