انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: نمونه‌های شخصی سازی شده‌ی BASH  (دفعات بازدید: 2681 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین احمد حقیقی

  • Full Member
  • *
  • ارسال: 229
  • جنسیت : پسر
  • MrRolling
نمونه‌های شخصی سازی شده‌ی BASH
« : 24 اسفند 1395، 11:37 ق‌ظ »
درود
دوستان اگر از بش استفاده می‌کنید و مایلید، محتوای .bashrc .bash_profile, و ... بذارین (البته پس از عمومی‌سازیش و حذف موارد شخصی  ;) )
یا alias ها رو، متغیر‌های بش رو، فرمت PS هارو ...
سپاس :)
“Open source is a development methodology; free software is a social movement”

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #1 : 25 اسفند 1395، 04:49 ب‌ظ »

https://gitlab.com/RasoolSN/dotfiles/blob/master/bash_aliases

https://gitlab.com/RasoolSN/dotfiles/blob/master/bashrc


من که کل تغییرات بش رو داخل همین bash_aliases میدم. فقط یه PS هست که اونم این‌شکلیه:
    PS1='${debian_chroot:+($debian_chroot)}(\#)[$(date +%H:%M)][\W]$ '
« آخرین ویرایش: 25 اسفند 1395، 04:59 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین احمد حقیقی

  • Full Member
  • *
  • ارسال: 229
  • جنسیت : پسر
  • MrRolling
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #2 : 25 اسفند 1395، 06:36 ب‌ظ »

https://gitlab.com/RasoolSN/dotfiles/blob/master/bash_aliases

https://gitlab.com/RasoolSN/dotfiles/blob/master/bashrc


من که کل تغییرات بش رو داخل همین bash_aliases میدم. فقط یه PS هست که اونم این‌شکلیه:
    PS1='${debian_chroot:+($debian_chroot)}(\#)[$(date +%H:%M)][\W]$ '

سپاس دوست عزیز
“Open source is a development methodology; free software is a social movement”

آفلاین anonym

  • Full Member
  • *
  • ارسال: 107
  • جنسیت : پسر
  • My Operating System LINUX
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #3 : 26 اسفند 1395، 02:46 ب‌ظ »
(البته پس از عمومی‌سازیش و حذف موارد شخصی  ;) )
ببخشید من متوجه نشدم (پس از عمومی‌سازیش و حذف موارد شخصی) یعنی چی؟

ظاهر خط فرمان (ترمینال) توسط متغیر محیطی 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






آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #4 : 26 اسفند 1395، 03:22 ب‌ظ »
http://bashrcgenerator.com/
اینجا خیلی راحت‌تر میشه هر نوع پرامتی که میخواید رو درست کنید
عضو ارشد فدراسیون بیکاران ایران FBI

آفلاین احمد حقیقی

  • Full Member
  • *
  • ارسال: 229
  • جنسیت : پسر
  • MrRolling
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #5 : 27 اسفند 1395، 09:59 ق‌ظ »
(البته پس از عمومی‌سازیش و حذف موارد شخصی  ;) )
ببخشید من متوجه نشدم (پس از عمومی‌سازیش و حذف موارد شخصی) یعنی چی؟


منظورم این بود که اگر تنظیمات یا alias ها یا موارد شخصی دارین، حذف کنین به عبارتی data anonymization و ... :)

بابت جواب کاملت ممنونم
من برام دیدن شخصی سازی‌های خودت کافی بود :)
ولی خوب توضیح دادی، سپاس
“Open source is a development methodology; free software is a social movement”

آفلاین احمد حقیقی

  • Full Member
  • *
  • ارسال: 229
  • جنسیت : پسر
  • MrRolling
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #6 : 27 اسفند 1395، 10:02 ق‌ظ »
http://bashrcgenerator.com/
اینجا خیلی راحت‌تر میشه هر نوع پرامتی که میخواید رو درست کنید

سپاس دوست عزیز :)

خروجی زیر رو هم میشه برام بذاری؟
echo $PS1
“Open source is a development methodology; free software is a social movement”

آفلاین رسول صفری

  • Full Member
  • *
  • ارسال: 145
  • جنسیت : پسر
    • رسول صفری |‌Rasool Safari
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #7 : 27 اسفند 1395، 08:37 ب‌ظ »
User@Hostname [ ~ ]
$> echo $PS1
\[\033[38;5;2m\]\u@\h\[\]\[\033[38;5;15m\] [ \[\]\[\033[38;5;197m\]\w\[\]\[\033[38;5;15m\] ]\n\$> \[\]
Arch + KDE Plasma 5.9 :)

آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
پاسخ : نمونه‌های شخصی سازی شده‌ی BASH
« پاسخ #8 : 27 اسفند 1395، 09:15 ب‌ظ »
http://bashrcgenerator.com/
اینجا خیلی راحت‌تر میشه هر نوع پرامتی که میخواید رو درست کنید

سپاس دوست عزیز :)

خروجی زیر رو هم میشه برام بذاری؟
echo $PS1


خدمت شما:
➜  ~ echo $PS1
${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)
عضو ارشد فدراسیون بیکاران ایران FBI