(البته پس از عمومیسازیش و حذف موارد شخصی )
ببخشید من متوجه نشدم (پس از عمومیسازیش و حذف موارد شخصی) یعنی چی؟
ظاهر خط فرمان (ترمینال) توسط متغیر محیطی PS1 مدیریت می شود. بر اساس صفحه ی man مربوط به Bash متغیر PS1 درحقیقت استرینگ prompt اولیه (prompt string) را ارائه می دهد که زمانی که شل آماده خواندن یک دستور است این string نمایش داده می شود.
بیایید محتوای در حال حاضر PS1 را در سیستم خودمان نشان دهیم با دستور زیر. (البته این خروجی در سیستم شما متفاوت است)
echo $PS1
خروجی
\[\033[0;31m\]┌─[\[\033[00m\]\[\033[0;32m\]\u@\h\[\033[0;31m\]][\[\033[00m\] \[\033[0;32m\]\d\[\033[00m\]\[\033[0;31m\]]──────────────────────────────────────────────[\[\033[00m\]\[\033[0;32m\]\t\[\033[00m\]\[\033[0;31m\]]───┐\[\033[00m\] \n\[\033[0;31m\]└─[\[\033[00m\]\[\033[0;32m\]${PWD}\[\033[00m\]\[\033[0;31m\]]─>\[\033[00m\]
شخصی سازی قالب PS1 (مربوط به هر کاراکتر خاص به شرح زیر میباشد)
/u: نام کاربر (username) جاری سیستم
/h: این کاراکتر مربوط بهHostname سیستم میباشد
/w: نام اصلی (basename) مسیر کاری جاری
/s: در صورتی که کاربر جاری root باشد علامت # و در غیر این صورت علامت $ نمایش داده می شود.(میتوانید کاراکتر \! را برای نمایش شماره دستور جاری در history و یا از \H برای نمایش FQDN (نام کامل دامنه) به جای نام کوتاه سرور استفاده کنید.)
مثال زیر:
PS1="[\u@\H \W \!]\$"
می توانیم از 3 جهت خط فرمان را تغییردهیم.
رنگ background متن: رنگ متن: قالب متن (format):
40: مشکی 30: مشکی 0: متن معمولی
41: قرمز 31: قرمز 1: bold
42: سبز 32: سبز 4: underlined text
43: زرد 33: زرد
44: آبی 34: آبی
45: بنفش 35: بنفش
46: فیروزه ای 36: فیروزه ای
47: سفید 37: سفید
از کاراکتر خاص \e در ابتدا و کاراکتر m در انتها جهت نشان دادن اینکه آنچه بین این دو کاراکتر می آید یک شماره ی رنگ است، استفاده می شود.
مثال زیر: (رنگ پس زمینه را به قرمز و رنگ متن را به زرد تبدیل میکند و زیر آن خط (underlined) می اندازد).
PS1="\e[41;4;33m[\u@\h \W]$ "
این تنظیمات فقط برای این کاربر و در این پنجره باقی خواهد ماند در صورتی که از ترمینال خارج شوید این تغییرات از بین خواهند رفت.
اگر بخواهید این تنظیمات دایمی شوند کافیست با توجه به نوع توزیع لینوکس خود خطوط بالا را به فایل bashrc. یا bash_profile. اضافه کنید.
اینهم شخصی سازی ترمینال سیستم خودم:
PS1='\[\033[0;31m\]┌─[\[\033[00m\]\[\033[0;32m\]\u@\h\[\033[0;31m\]][\[\033[00m\] \[\033[0;32m\]\d\[\033[00m\]\[\033[0;31m\]]──────────────────────────────────────────────[\[\033[00m\]\[\033[0;32m\]\t\[\033[00m\]\[\033[0;31m\]]───┐\[\033[00m\] \n\[\033[0;31m\]└─[\[\033[00m\]\[\033[0;32m\]${PWD}\[\033[00m\]\[\033[0;31m\]]─>\[\033[00m\] '
نوع ترمینال: mate terminal
size: (90 columns) (35 rows)
font: 12
سبز فسفوری :text color