انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: thmkhtry در 23 اسفند 1401، 10:05 بظ
-
سلام
من امروز میخواستم زی شل نصب کنم که به طور اتفاقی با یکی از قابلیت های بش آشنا شدم که میشه اون رو شخصی سازی کرد حتی از تم های زی شل هم بهتر. بعد برای اینکه بیشتر یادش بگیرم سری به man و صفحات اینترنتی زدم تا آخر بش رو به صورت شکل زیر درش آوردم.(https://s2.uupload.ir/files/screenshot_20230314_205719_4s2v.png)حالا اگر تمایل دارید شخصی سازی کنید بش رو و از اون حالت خشکش درش بیارید توضیحات رو دنبال کنید.خب ما توی تنظیمات بش (~/.bashrc فایلش هست)یک متغیر محیطی داریم به نام PS1 که توی اون هرچی باشه بش همون رو نمایش میده. ما میتونیم یک نوشته ی دلخواه داخلش بذاریم یا اینکه مثل من نام یوزر و اسم توزیع رو نمایش بده و کلا هر چی دوست دارید.(خوبیه متن باز بودن همینه)اما برای این که بخوایم بعضی چیز ها مثل نام کاربر و رنگی هم باشه یک سری کد ها توش وجود داره که باید بهش بگیم.(یه جورایی مثل html )در مورد متغیر های PS2 و غیره هم من توی کانفیگ دیفالت بش توزیعم نبود در نتیجه نمیتونم چیزی در موردش بگم.در ضمن به جز رنگ ها لیست زیر کاراکتر ها گریز داره.نکته ی دیگه این که تمام بخش های متغیر باید توی کوتیشن(' ') قرار بگیرن.اول متغیر خودم رو مینویسم بعد میرم لیست کاراکتر گریز بعد لیست رنگ ها بعد نحوه ی رنگ دادن.arch@taha490mokh~>>echo $PS1
$(tput setaf 4)\]\h\[$(tput setaf 7)\]@\[$(tput setaf 2)\]\u\[$(tput setaf 3)\]\w\[$(tput setaf 6)\]>>\[$(tput sgr0)
- \a =مال اینه که کاراکتر های ASCII رو نشون بده.\e هم همین کارو میکنه. (خودم هم درست نمیدونم چی هست فقط توی صفحه man نوشته)
- \d=به ترتیب روز هفته و ماه و روز ماه رو به میلادی نشون میده
- \h=اسم توزیع رو نشون میده.(در واقع هاست نیمه)با H کارمیکنه.
- \j=کار هایی که شل داره انجام میده رو مینویسه.
- \l=نمیدونم ولی توی منابع شاید بتونید پیداش کنید.man میگه نام پایه بش رو میگه.
- \n=میره خط بعد
- \r=بازم نمیدونم و لی man میگه برای دوباره شروع کردنه.(ساید به این خاطر نمیدونم که به درد شخصی سازیم نخورد)
- \s=اسم شل رو نشون میده که مال ما بشه.
- \t=زمان ۲۴ ساعته بر اساس زمان سیستم به همراه ثانیه نشون میده.
- \T=همون قبلیه است با این تفاوت که برا اساس ۱۲ ساعت نشون میده.
- \@=قبل از ظهر و بعد از ظهر رو نشون میده.
- \A=بر اساس ۲۴ ساعت نشون میده بدون ثانیه.
- \u=کاربرتون رو نشون میده.
- \v=ورژن بش رو نشون میده.
- \V=ورژن بش رو با دو تا ممیز نشون میده.
- \w=دایرکتوری ای که الان داخلش هستید رو نشون میده.
- \!=درست نمیدونم ولی مربوط به تعداد اجراست
- \#=اینم مثل بالایی.
- \$=مربوط به uid عه.
- \nnn=نمیدونم
- \\=کابردش اینه که همون بک اسلش رو نشون میده.
- \]=نمیدونم
- \[=نمیدونم
خب خسته شدم زیاد بود انشالله بعدیش فردا.
منابع:
۱.https://www.geeksforgeeks.org/how-to-customize-bash-colors-and-content-in-linux-terminal-prompt/
۲.man bash در بخش PROMPTING
-
داش این شخصی سازی بش نیست. :////
شخصی سازی Prompt بش هست.
PS2 هم برای زمانی هست که یا تک کوتیشن یا دابل کوتیشن بسته نداشته باشیم یا برای رفتن به خط بعدی از \ استفاده کنیم یا برای مثلا خط های بعدی eof>>
شخصی سازی بش یعنی alias و set
و درضمن همش بهجای x\ , خورده \x
:P
-
داش این شخصی سازی بش نیست. :////
شخصی سازی Prompt هست.
PS2 هم برای زمانی هست که یا تک کوتیشن یا دابل کوتیشن بسته نداشته باشیم یا برای رفتن به خط بعدی از \ استفاده کنیم یا برای مثلا خط های بعدی eof>>
شخصی سازی بش یعنی alias و set
درسته این هم هست الان ویرایش میکنم.انشالله در قسمت های بعد اضافه خواهد شد اونی هم که شما میگین.
ویرایش : ولی خدارو شکر بسته ی اضافی نصب نکردم و درست شد کارم.
-
«حتا از زیشل بهتر» هم عجیب بود. معلومه که بش خیلی قویتر از زیشله!
-
«حتا از زیشل بهتر» هم عجیب بود. معلومه که بش خیلی قویتر از زیشله!
تلفظ صحیح آن زد شل هست
-
جایی این رو نوشته؟ من چیزی پیدا نکردم
-
جایی این رو نوشته؟ من چیزی پیدا نکردم
تفاوت لحجه بریتیش با آمریکایی. درستش زد شل هست
8)
-
من یه جستوجویی کردم. گویا هدف این بوده که شبیه seashell باشه، ولی با z. پس احتمالاً همون زیشل درستتره.
-
خب سلام.
قسمت دوم هم الان میخوام براتون بنویسم. احتمالا قسمت ۳ هم خواهیم داشت.این قسمت در ادامه ی قسمت قبلیه و در قسمت آخر درمورد alias خواهم گفت.
همونطور که دیدید prompt من رنگی بود. حالا میخواهیم اینجا هم رنگ هارو بذاریم. کاری که ما امروز میخوایم انجام بدیم شبیه کاریه که colorama در پایتون انجام میده اگر پایتون کار کرده باشید حتما دیدید. این کد ها توی رنگ گذاشتن برای نوشته و پس زمینه اش کاربرد داره.توجه داشته باشید ما باید این هارو توی پرانتز() قرار بدیم و اگر بعدش میخوایم کاراکتر های کریز استفاده کنیم یا هر متنی از \[ استفاده کنیم. برای همین درمورد این کارکتر گفتم نمیدونم که اینجا باهاش کارکنیم.
این کد ها عبارتند از:
- tput bold=متن بش رو بولد میکنه
- tput rev =برمیگردونه این که چیو نمیدونم
- tput sgr0 =رنگ رو برمیگردونه به سفید. اگر برای prompt رنگ بذارید و آخرش اینو نذارید این دستوری که به بش میدید رنگی میشه.
- tput setaf {code}=خب این کد باعث میشه پس زمینه ی prompt رنگی بشه هر رنگی شما بگید ولی این رنگ ها یه عددی دارن که من بعد از این لیست اون هم بهتون میگم.این کد ها باید در قسمت {code} گذاشته بشن. زیاد نیست.
- tput setab {code}=همونه فقط به جای پس زمینه رنگ خود نوشته رو تغییر میده.
اما رنگ ها:- 0=سیاه
- 1=قرمز
- 2=سبز
- 3=زرد
- ۴=آبی
- ۵=صورتی پررنگ
- ۶=آبی خیلی کم رنگ
- ۷=سفید
آقا شخصی سازی prompt بش به پایان رسید. خوشحال میشیم prompt هاتون رو ببینیم. تو قسمت بعدی میریم یاد بگیریم چجوری واسه دستور هامون شورتکات بذاریم و چند چیز دیگه.
-
من یه جستوجویی کردم. گویا هدف این بوده که شبیه seashell باشه، ولی با z. پس احتمالاً همون زیشل درستتره.
:/
اصلا ربطی به اینکه قبلا اسمش چی میخواسته بشه یا اسمش شبیه یه چیزی بشه نداره
بریتانیایی ها وقتی حرف z به صورت تکی بیاد اونو زد تلفظ میکنن ولی آمریکایی ها اونو زی تلفظ میکنن.
https://www.oxfordlearnersdictionaries.com/definition/english/z?q=z
-
من یه جستوجویی کردم. گویا هدف این بوده که شبیه seashell باشه، ولی با z. پس احتمالاً همون زیشل درستتره.
:/
اصلا ربطی به اینکه قبلا اسمش چی میخواسته بشه یا اسمش شبیه یه چیزی بشه نداره
بریتانیایی ها وقتی حرف z به صورت تکی بیاد اونو زد تلفظ میکنن ولی آمریکایی ها اونو زی تلفظ میکنن.
https://www.oxfordlearnersdictionaries.com/definition/english/z?q=z
درسته. ولی شما اصرار کردید تلفظ صحیح اون «زدشل» هست. در اصل هر دوی گویشهای بریتانیایی و آمریکایی درسته و چیزی به اسم تلفظ صحیح وجود نداره. (هر چند خود بریتیشها هم زی بگن یا برعکس کسی بهشون ایراد نمیگیره ;D )
-
یه کاری که من انجام دادم، اینه که همین رو داخل bashrc کاربر root هم گذاشتم :D ولی با رنگ قرمز! اینجوری هربار که داخل کاربر ریشه باشم از رنگش متوجه میشم.
-
یه کاری که من انجام دادم، اینه که همین رو داخل bashrc کاربر root هم گذاشتم :D ولی با رنگ قرمز! اینجوری هربار که داخل کاربر ریشه باشم از رنگش متوجه میشم.
مثل کالی ولی میشه شکل های مختلف پرامپت رو از اینترنت هم گرفت
-
این هم PS1 من:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u\[\033[01;31m\]@\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[0;33m\]`__git_ps1`\[\033[00m\]\$ '
-
این هم PS1 من:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u\[\033[01;31m\]@\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[0;33m\]`__git_ps1`\[\033[00m\]\$ '
واسه __git_ps1 باید از git-prompt.sh استفاده بشه؟
-
اینی که میگی نمیدونم چیه. خود git باید نصب باشه.
-
اینی که میگی نمیدونم چیه. خود git باید نصب باشه.
git نصبه ولی این خطا رو میده :
bash: __git_ps1: command not found
-
https://stackoverflow.com/questions/15883416/adding-git-branch-on-the-bash-command-prompt
این هم یکی ازقابلیت هاییه که من خودم توی زی شل دیده بودم. PS1 جناب بهزادی نکته داره!
-
فکر کنم بهتر باشه این هارو توی ویکی بذارم.