דף הבית » איך ל » כיצד להתאים אישית (ו colorize) שלך

    כיצד להתאים אישית (ו colorize) שלך

    רוב הפצות לינוקס להגדיר את הפקודה בש לחפש משהו כמו שם משתמש @ hostname: $ $ directory . אבל אתה יכול להגדיר את הפקודה Bash להכיל את מה שאתה אוהב, ואפילו לבחור את הצבעים שאתה אוהב.

    הצעדים לדוגמה כאן בוצעו על אובונטו 16.04 LTS. התהליך צריך להיות זהה על הפצות לינוקס אחרות, אם כי ברירת המחדל Bash הפקודה ואת ההגדרות בקובץ .bashrc עשוי להיות קצת שונה.

    איפה מאוחסן משתנה הפקודה

    תצורת הפקודה בש שלך מאוחסנת בקובץ .bashrc של חשבון המשתמש שלך, שנמצא בכתובת ~ / .bashrc. לכן, אם שם המשתמש שלך הוא bob, הקובץ הוא ב /home/bob/.bashrc.

    ניתן לפתוח את הקובץ כדי להציג את משתנה הבאש הנוכחי. נשתמש ב- nano כעורך הטקסט לדוגמה שלנו, אם כי תוכל גם להשתמש ב- vi, emacs או כל עורך טקסט אחר שבו אתה חש בנוח. פתח מסוף והפעל:

    ננו ~ / .bashrc

    גלול מטה אל PS1 = סעיף. המשתנה הראשון נראה מסובך למדי משום שהוא כולל מידע צבעי - אנו נסביר זאת מאוחר יותר. המשתנה השני, ללא מידע צבע, קורא כדלקמן:

    $ debian_chroot: + ($ debian_chroot) \ u @ \ h: \ w \ $

    זה עדיין קצת מסובך בגלל $ debian_chroot: + ($ debian_chroot) סיביות. אלה רק לספר את באש כדי ליידע אותך אם אתה משתמש בסביבה דביאן chroot ובדרך כלל לא יוצגו. התעלמות מאלה, הנה מבנה ברירת המחדל של משתנה הבאש:

    \ u @ \ h: \ w \ $

    \ u מציין את שם המשתמש שלך, @ מציין את הסימן @, \ h מציין את שם המארח (שם המחשב), You מציין את התו:, \ w מציין את ספריית העבודה, ו \ $ מציין $ אם אתה משתמש רגיל בחשבון או # אם אתה שורש. אז, לשים את כל זה ביחד, אתה מקבל שם משתמש @ hostname: work_directory $.

    כדי לשנות את הפקודה Bash שלך, אתה רק צריך להוסיף, להסיר או לסדר מחדש את התווים המיוחדים של המשתנה PS1. אבל יש משתנים רבים יותר אתה יכול להשתמש מאשר אלה ברירת המחדל.

    השאר את עורך הטקסט עבור כעת ב- nano, הקש Ctrl + X כדי לצאת. אנו נראה לך כיצד להתנסות עם משתנים לפני ממש כתיבת אחד חדש לתוך קובץ .bashrc שלך.

    כיצד ליצור בקשה אישית

    תצורת הפקודה שלך ב- Bash מאוחסנת במשתנה PS1. כדי לשמור את תוכן המשתנה PS1 למשתנה חדש, הפעל את הפקודה הבאה:

    DEFAULT = $ PS1

    עכשיו אתה יכול להגדיר את המשתנה PS1 לערכים שונים כדי הניסוי. לדוגמה, השורה הראשונה כאן תגרום להנחיית ההנחיה הבסיסית "user $", ואילו הפקודה השנייה תגרום להנחיית הפקודה הבסיסית "user: working_directory $".

    PS1 = "\ u \ $" PS1 = "\ u: \ w \ $"

    אם אי פעם תרצה לחזור להנחיית ברירת המחדל, פשוט הפעל את הפקודה הבאה.

    PS1 = $ DEFAULT

    Bash ישוחזר להנחיית ברירת המחדל בזכות העובדה ששמרת הגדרות ברירת מחדל אלה מוקדם יותר. שים לב כי כל השינויים שתבצע כאן הם זמניים בלבד עבור ההפעלה הנוכחית Bash, כך שאתה תמיד יכול לצאת ולחתום חזרה או לסגור ולפתוח מחדש את חלון המסוף לחזור הפקודה ברירת המחדל שלך. אבל את השורה לעיל מאפשר בקלות לחזור לראש ברירת המחדל שלך Bash ללא טרחה של חתימה או סגירת חלון.

    ניתן להוסיף תווים או טקסט למשתנה. אז, כדי להקדים את ברירת המחדל עם הפקודה "שלום העולם", אתה יכול להשתמש:

    PS1 = "שלום עולם \ u @ \ h: \ w \ $"

    עכשיו שיש לך את היסודות למטה, אתה רק צריך לדעת מה כל התווים המיוחדים. אתה כנראה לא יהיה אכפת רבים של אלה, אבל הנה רשימה מלאה כפי שהיא מופיעה במדריך Bash:

    • דמות פעמון: \ a
    • התאריך, בפורמט "יום בשבוע בחודש" (למשל, "יום שלישי 26 במאי"): \ d
    • הפורמט מועבר ל strftime (3) והתוצאה מוכנס לתוך מחרוזת הפקודה; פורמט ריק יוצר ייצוג זמן ספציפי לאזור. הפלטה נדרשת: \ D format
    • תו בריחה: \ e
    • שם המארח, עד הראשון '.': \ h
    • שם המארח: \ H
    • מספר המשרות המנוהלות כיום על ידי הקליפה: \ j
    • שם הבסיס של שם המכשיר המסוף של הקליפה: \ l
    • קו חדש: \ n
    • החזרת מרכבה: \ r
    • שם הקליפה, basename של $ 0 (החלק שאחרי קו נטוי סופי): \ s
    • הזמן, ב 24 שעות HH: MM: SS פורמט: \ t
    • הזמן, ב 12 שעות HH: MM: SS פורמט: \ T
    • הזמן, בפורמט 12 שעות / pm: \ @
    • הזמן, ב 24 שעות HH: MM פורמט: \ A
    • שם המשתמש של המשתמש הנוכחי: \ u
    • גרסת באש (למשל, 2.00): \ v
    • שחרורו של Bash, גרסה + patchlevel (למשל, 2.00.0): \ אשר
    • ספריית העבודה הנוכחית, כאשר $ HOME מקוצר עם טילדה (משתמש במשתנה PROMPT_DIRTRIM $): \ w
    • הבסיס של $ PWD, עם $ HOME מקוצר עם tilde: \ W
    • מספר ההיסטוריה של פקודה זו: 12!
    • מספר הפקודה של פקודה זו: \ #
    • אם ה- uid האפקטיבי הוא 0, #, אחרת $: \ $
    • הדמות אשר קוד ASCII שלה הוא הערך octal nnn: \ nnn
    • קו נטוי הפוך: \\
    • התחל רצף של תווים שאינם מודפסים. זה יכול לשמש כדי להטביע רצף בקרת מסוף לתוך הפקודה: \
    • סיום רצף של תווים שאינם מודפסים: Map

    אז, אם אתה רוצה להוסיף את התאריך והשעה את הפקודה Bash והכניסו את המדריך עובד על הפקודה על שורה שנייה, אתה יכול להשתמש בבנייה הבאה:

    PS1 = "[\ d \ t] \ u @ \ h \ n \ w \ $"

    סוגריים מרובעים כאן הם לא הכרחי בכלל, אבל לעזור לשבור את הדברים חזותית ולעשות את הקו קל יותר לקריאה. כפי שאנו מכוסים קודם לכן, אתה יכול להוסיף כל טקסט או תווים רגילים למשתנה שאתה אוהב, אז אתה מוזמן להשתמש בכל עובד בשבילך.

    יש עוד טריק חזק שאתה צריך לדעת על: אתה יכול להוסיף את הפלט של כל פקודה על הפקודה. בכל פעם שההנחיה מופיעה, Bash יפעיל את הפקודה ומלא את המידע הנוכחי. לשם כך, כלול פקודה שברצונך להפעיל בין שני ' תווים. זה לא גרש - זה המבטא החמור, המופיע מעל מקש Tab במקלדת.

    לדוגמה, נניח שברצונך להציג את גירסת הליבה של לינוקס בהנחייה. תוכל להשתמש בשורה הבאה:

    PS1 = "\ u @ \ h on 'uname -s -r' \ w \ $"

    כדוגמה נוספת, נניח שברצונך להציג את זמן הפעילות של המערכת וממוצע הטעינה, כפי שמוצג על ידי uptime פקודה. אתה יכול להשתמש בבנייה הבאה, אשר מעבירה את uptime על הקו שלה לפני שאר הפקודה.

    PS1 = "('uptime') \ n \ u @ \ h: \ w $"

    אתה מוזמן להתנסות עם תווים מיוחדים שונים פקודות להרכיב את הפקודה האידיאלית שלך.

    כיצד להוסיף צבעים שלך

    ברגע שאתה כבר הבנתי את ההנחיה המועדפת עליך, אתה יכול להוסיף צבעים אליו. זה בעצם מאוד פשוט, אבל זה עושה את המראה משתנה נורא מבולגן ומסובך אם אתה לא מבין מה אתה מסתכל.

    לדוגמה, משתנה ברירת המחדל של צבע ברירת המחדל מקודם היה:

    $ debian_chroot: + ($ debian_chroot) \ [\ 033 [01, 32m \] \ u @ \ \ h \ [\ 033 [00m \]: \ [\ 033 [01, 34m \] \ w \ [\ 033 [00m \] \ $

    לחלופין, הסרת סיביות debian_chroot פעם נוספת:

    \ \ \ 033 [01, 32m \] \ u @ \ \ h \ [\ 033 [00m \]: \ [\ 033 [01, 34m \] \ w \ [\ 033 [00m \] \ $ \ $

    זה בעצם רק \ u @ \ h: \ w $ משתנה מ קודם, אבל עם מידע צבע. באמת, אנחנו יכולים לשבור אותו למספר קטעים:

    \ [\ 033 [01; 32m \]\ u @ \ h \ [\ 033 [00m \]You \ [\ 033 [01, 34m \]\ w \ [\ 033 [00m \]\ $

    החלק הראשון הוא \ u @ \ h bit, קודמת על ידי מידע צבע שהופך אותו לירוק. השני הוא You תו, קודמת על ידי מידע צבע שמסיר כל צבע. השלישי הוא \ w bit, קודמת על ידי מידע צבע שהופך אותו כחול. הרביעי הוא \ $ bit, קודמת על ידי מידע צבע שמסיר כל צבע.

    ברגע שאתה מבין איך לבנות תגי צבע משלך, אתה יכול להוסיף את כל הצבעים שאתה אוהב את כל החלקים של בש שלך הפקודה שאתה אוהב.

    הנה מה שאתה צריך לדעת: עליך לכלול את כל קוד צבע מידע בין \  ו \] אופיs. בתוך התג, אתה חייב להתחיל עם אחד \ 033 [ או \ e [ כדי לציין את באש כי זה מידע צבע. שניהם \ 033 [ ו \ e [ תעשה את אותו הדבר. \ e [ הוא קצר יותר ולכן עשוי להיות נוח יותר לשימוש, אבל נשתמש \ 033 [ כאן זה תואם את מה המשמש כברירת מחדל. בסוף התג, עליך לסיים עם M\ כדי לציין את סופו של תג צבע.

    לשבור את זה למטה, הנה מה כל תג צבע ייראה. ההבדל היחיד הוא המידע שתוסיף במקום COLOR כדי להגדיר את הצבע בפועל:

    \ [\ \ 033 [צבעM\]

    Bash מאפשר לך לשנות את צבע הטקסט הקדמי, להוסיף תכונות כמו "מודגש" או "קו תחתון" לטקסט, ולהגדיר צבע רקע.

    להלן הערכים עבור טקסט קדמי:

    • שחור: 30
    • כחול: 34
    • ציאן: 36
    • ירוק: 32
    • סגול: 35
    • אדום: 31
    • לבן: 37
    • צהוב: 33

    לדוגמה, מאחר והטקסט הסגול הוא קוד צבע 32, היית משתמש \ [\ \ 033 [32M\]  לטקסט סגול.

    ניתן גם לציין תכונה עבור הטקסט. יש להוסיף תכונה זו לפני מספר הצבעים, המופרדים באמצעות נקודה פסיק (;). טקסט עם תכונות אלה ייראה שונה emulators מסוף שונים.

    להלן הערכים עבור תכונות טקסט:

    • טקסט רגיל: 0
    • מודגש או טקסט בהיר: 1 (תלוי באמולטור המסוף).
    • טקסט עמום: 2
    • טקסט מודגש: 4
    • טקסט מהבהב: 5 (פעולה זו אינה פועלת במרבית הטרמינלים הסופניים).
    • טקסט הפוך: 7 (זה הופך את צבעי החזית ואת הרקע, כך שתראה טקסט שחור על רקע לבן אם הטקסט הנוכחי הוא טקסט לבן על רקע שחור).
    • טקסט מוסתר: 8

    אתה לא ממש צריך לכלול את התכונה טקסט רגיל. זה ברירת המחדל, בכל מקרה.

    לדוגמה, מכיוון שטקסט אדום הוא קוד 31, והטקסט המודגש הוא קוד 1, אתה משתמש בו \ [\ \ 033 [1;M\] עבור טקסט אדום מודגש.

    ניתן גם לציין צבע רקע, אך לא ניתן להוסיף תכונה לצבע רקע.

    להלן הערכים עבור צבעי רקע:

    • רקע שחור: 40
    • רקע כחול: 44
    • רקע ציאקני: 46
    • רקע ירוק: 42
    • רקע סגול: 45
    • רקע אדום: 41
    • רקע לבן: 47
    • רקע צהוב: 43

    לדוגמה, מאז רקע כחול הוא קוד 44, \ [\ \ 033 [44M\] יפרט רקע כחול.

    ניתן לציין גם תגי צבע קדמי וגם צבע רקע. לדוגמה, 42 מייצג רקע ירוק ו- 31 מייצג טקסט אדום. לכן, כדי להפוך את ברירת המחדל הנחיה להפוך טקסט אדום על רקע ירוק, היית משתמש:

    PS1 = "\ [\ 033 [42m \] \ [\ 033 [31m \] \ u @ \ h: \ w \ $ "

    אנו רק לציין צבע רקע אחד ולאחר מכן צבע טקסט אחד בחזית כאן, שמתחיל בתחילת הפקודה ומופעל על כל הטקסט בהנחיה. עם זאת, אתה יכול לציין כמו תגי צבע רבים כפי שאתה רוצה את המשתנה לצבע חלקים שונים של הפקודה שלך כמו שאתה אוהב.

    צבעי הטקסט ברקע ובחזית ממשיכים לעבור את ההנחיה, אלא אם כן ציינתם קוד צבע 00 נקה את מידע הצבע. ניתן גם להשתמש בתג זה בתוך המשתנה כדי לאפס את העיצוב בחזרה לברירת מחדל במקום כלשהו בהנחייתך. לדוגמה, השורה הבאה תסיים את כל הצבעים לפני \ $ אופי.

    PS1 = "\ [\ 033 [42m \] \ [\ 033 [31m \] \ u @ \ h: \ w \\ [\ 033 [00m \] \ $ "

    כיצד להגדיר את ברירת המחדל החדשה שלך

    לאחר שתסיים להתנסות עם צבעים, אתה צריך להיות בשא הפקודה אתה אוהב את הפגישה הנוכחית. אבל אתה כנראה רוצה לעשות את זה מהיר חדש קבוע אז זה משמש באופן אוטומטי בכל הפגישות שלך בש.

    כדי לעשות זאת, אתה רק צריך לשנות את התוכן של המשתנה PS1 בקובץ .bashrc, אשר הסתכלנו קודם לכן.

    פתח את הקובץ .bashrc בעורך הטקסט המועדף עליך, כך:

    ננו ~ / .bashrc

    גלול למטה ואתר את הקטע PS1 =. פשוט להחליף את משתנה ברירת המחדל עם המשתנה המותאם אישית שלך. אתה בטח רוצה לעזוב את $ debian_chroot: + ($ debian_chroot)  סיביות בלבד, עם זאת - הם לא יופיעו אלא אם כן אתה בסביבה chroot, בכל מקרה.

    הזן את המשתנה PS1 בצבע תחת אם ["$ color_prompt" = yes]; לאחר מכן קו. הזן את המשתנה ללא צבעים מתחת Other קו.

    שמור את הקובץ וסגור את עורך הטקסט. לדוגמה, כדי לשמור את הקובץ ב- nano, הקש Ctrl + O, הקש על Enter ולאחר מכן הקש Ctrl + X כדי לצאת.

    בפעם הבאה שתתחיל פגז חדש של באש - לדוגמה, על ידי כניסה למסוף או על ידי פתיחת חלון מסוף חדש - תראה את ההתראה המותאמת אישית שלך.