اعلان شِل، که اغلب نادیده گرفته میشود، قابلیتی قدرتمند و قابل تنظیم در خط فرمان لینوکس است. این اعلان توسط متغیر محیطی 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 شده و درک بهتری از ترمینال بهدست میدهد.