මගේ විධාන රේඛාව (bash) විමසුම කෙටි කරන්නේ කෙසේද?


183

දැනට එය:

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$

මගේ යන්ත්‍රය සහ නාමාවලි ව්‍යුහය නැවත නම් කිරීමට පිටතින් ...

මම එය තවත් සමාන දෙයක් කරන්නේ කෙසේද:

michael:controllers$

Answers:


259

වත්මන් පර්යන්ත අවස්ථාව සඳහා පමණක් එය වෙනස් කිරීම

ඇතුලත් කර enter PS1='\u:\W\$ 'ඔබන්න.


එය "ස්ථිරවම" වෙනස් කිරීම සඳහා

ඔබගේ ~/.bashrc, පහත කොටස සොයා ගන්න:

if ["$ color_prompt" = ඔව්]; එවිට
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u @ \ h \ [\ 033 [00m \]: \ [33 033 [01; 34m \] \ w \. [\ 033 [00m \] \ $ '
නැතිනම්
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u @ \ h: \ w \ $'
fi

ඉවත් කර @\h, \wලොකු අකුරකින් ආදේශ කරන්න \W, එවිට එය බවට පත්වේ:

if ["$ color_prompt" = ඔව්]; එවිට
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ [33 033 [01; 32m \] \ u \ [33 033 [00m \]: \ [\ 033 [01; 34m \] \ W \ [33 033 [00m \] \ $ '
නැතිනම්
    PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ u: \ W \ $'
fi

ප්‍රති result ලය බැලීමට සුරකින්න, පිටවන්න, පර්යන්තය වසා දමා තවත් එකක් ආරම්භ කරන්න.


තවත් විකල්ප ටොන්!

  • තවත් බොහෝ විකල්ප සමඟ වඩාත් පුළුල් හැටි සඳහා මෙහි බලන්න
  • විමසුම සැකසීම සඳහා ඉතා කුඩා පයිතන් පිටපතක් භාවිතා කිරීම සඳහා මෙම පිළිතුර බලන්න එවිට කෙටි කිරීම සිදුවන්නේ ඔබ ඩිරෙක්ටරි ව්‍යුහයක ගැඹුරින් සිටින විට පමණි.

1
ඔබට ද බොහෝ තොරතුරු තිබිය හැකිය ... ඉන්පසු unix.stackexchange.com/q/88780/10043
මයිකල් ඩුරන්ට්

මෙය ගෝලීය කිරීමට ක්‍රමයක් තිබේද? වෙනත් වචන වලින් කිවහොත්, මම වෙනත් පරිශීලකයෙකුට සුඩෝ නම්, මෙම සැකසුම ඉදිරියට ගෙන ගොස් තිබේද, නමුත් මට පමණක් (එනම්, පරිශීලකයා සාමාන්‍යයෙන් ඔවුන්ගේ ගිණුම භාවිතා කරන විට නොවේ)?
ctote


එනම් HOST='\033[02;36m\]\h' HOST=' '$HOST parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; } TIME='\033[01;31m\]\t \033[01;32m\]' LOCATION=' \033[01;34m\]pwd | sed "s # (/ [^ /] \ {1, \} / [^ /] \ {1, \} / [^ /] \ {1, \} /). * (/ [^ /] \ { 1, \} / [^ /] \ {1, \}) / \, 0,1 \} # \ 1_ \ 2 # g "' BRANCH=' \033[00;33m\]$(parse_git_branch)\[\033[00m\]\n\$ ' PS1=$TIME$USER$HOST$LOCATION$BRANCH PS2='\[\033[01;36m\]>'
මයිකල් ඩුරන්ට්

නමුත් සත්‍ය කේතය භාවිතා කිරීම සඳහා පිළිතුර බලන්න.
මයිකල් ඩුරන්ට්

122

වත්මන් පර්යන්තය තුළ මෙම කේතය ධාවනය කරන්න

PROMPT_DIRTRIM=3

දැන් bash විමසුම මඟින් පෙන්වනුයේ අවසාන නාමාවලි 3 පමණි. වත්මන් නාමාවලිය පමණක් පෙන්වීමට ඔබට 1 තෝරා ගත හැකිය. වැඩි විස්තර GNU ප්‍රලේඛනයෙන් ලබා ගත හැකිය .

බලපෑම:

/var/lib/apt/lists# PROMPT_DIRTRIM=3
/.../lib/apt/lists# 

ඔබට එය ස්ථිර කිරීමට අවශ්‍ය නම්, ~/.bashrcආරම්භයේ දී පහත පේළිය එක් කරන්න :

PROMPT_DIRTRIM=3

හෝ ශුන්‍යයට වඩා විශාල සංඛ්‍යාවක්.


7
පැත්තක සටහනක්: මේ සඳහා Bash 4 අවශ්‍ය වේ.
Stefan Lasiewski

හොඳයි ... promptdir() { PROMPT_DIRTRIM=$1; }සජීවී කිරීම පහසු කිරීම සඳහා මම මේ සඳහා (ශ්‍රිතයක් සහිතව) bach_alias එකතු කළෙමි ...
dgoosens

19

මෙය මා කැමති කඩිනම් සැකසුමකි:

ඇතුලත් කර ඇත ~/.bashrc

PS1='[\u@\h \W]\$ '    

එය මේ වගේ ය:

[user@hostname dirname]$

( $ලකුණට පසු ඉඩක් සහිතව )


එක් එක් වචනය අතර ඉඩක් එකතු කරන්නේ කෙසේද? එසේම, මට එය වර්ණ ගැන්විය හැකිද?
ඩැනියෙල් ස්ප්‍රින්ගර්

7

පුද්ගලිකව මම කැමති බාෂ් විමසුමේ වත්මන් ෆෝල්ඩරය පමණි. පහත දැක්වෙන විධානය සමඟ මට මෙය කළ හැකිය:

PS1='\W\$ '

සෑම ආරම්භයකින් පසු එය ක්‍රියාත්මක වීමට ඔබට අවශ්‍ය නම් ඉහත විධානය ඔබගේ ~ / .bashrc වෙත එක් කරන්න.


2

මෙය ඉතා පැරණි බව මට වැටහී ඇති නමුත් අන්වර්ථයක් නිර්මාණය කිරීමට කිසිවෙකු යෝජනා නොකළ බැවින් මම පළ කරනු ඇතැයි සිතුවෙමි. Bash Prompt Escape Sequences භාවිතා කරමින් මම අන්වර්ථයක් සෑදුවෙමිshorten

~/.bash_aliasesමනාපය මත පදනම්ව ඔබට අතහැර දැමිය හැකි හෝ වෙනස් කළ හැකි ක්ෂණික වර්ණය සැකසීමට $ නිල් වර්ණය මෙහි දී ඔබ දකිනු ඇත.

alias c='clear'

alias shorten='PS1="$Blue$USER:\W$ "&& c'

OP හි අපේක්ෂිත කඩිනම් නූල ලබා ගැනීම සඳහා:

alias shorten='PS1="$USER:\W$ "'

මට ~/.bashrcපිටපත් වල අර්ථ දක්වා ඇති අතර https://wiki.archlinux.org/index.php/Color_Bash_Prompt වෙතින් අලවා ඇත . පැත්තක සටහනක ඇන්සි කේත වර්ණ සමඟ ඇත්තේ කුමක්ද? මම අවුල් සහගතව එය දෙස බලා සිටිමි.

Blue='\e[0;34m'         # Blue

.Bash_aliases වෙත ළඟා වන්නේ කෙසේදැයි මා නොදන්නා බැවින් මේ සඳහා පියවරෙන් පියවර උපදෙස් ඉතා ප්‍රයෝජනවත් වේ. ස්තූතියි
Kayote

2
"." උපසර්ගය මඟින් සැඟවුණු නාමාවලියක් හෝ ගොනුවක් දක්වයි. ටිල්ඩ් "~" යනු form HOME විචල්‍යයේ කෙටි ආකාරයකි. ඉතින්, "~ / .bash_aliases" යනු "/home/$USER/.bash_aliases" හි කෙටි ආකාරයකි. ".Bash_aliases" විවෘත කිරීම සඳහා ඔබට ටර්මිනලයක් විවෘත කර "gedit /home/$USER/.bash_aliases" හෝ "gedit ~ / .bash_aliases" ටයිප් කළ හැකිය. . උපකාරවත් වන බලාපොරොත්තුව. ප්‍රයෝජනවත් අන්වර්ථ නාමයන් සඳහා ගූගල් සෙවුමක් කිරීමට ඔබට අවශ්‍ය විය හැකිය.
ඇලී කාර්වර්

0

ඔබගේ අවශ්‍යතාවන්ට සරිලන පරිදි ඔබට වෙනස් කළ හැකි ශ්‍රිතයක් මම ලිවීය :

function termprompt() {
    PS1="${PS1//@\\h/}"     # Remove @host
    PS1="${PS1//\\w/\\W}"   # Change from full directory to last name
}

රේඛාව සම්පුර්ණයෙන්ම ගණනය ~/.bashrcකිරීමෙන් පසුව මෙම ශ්‍රිතය පතුලේ හෝ ආසන්නයේ තබන්න PS1.

termpromptඔබේ විමසුම කෙටි කිරීමට අවශ්‍ය ඕනෑම වේලාවක ඔබ ටයිප් කරනු ඇත , නැතහොත් ස්ථිරත්වය සඳහා termpromptඔබේ පහළ සිට ~/.bashrcඅමතන්න.

වෙනත් බොහෝ පිළිතුරු පුරා මෙම උපක්රමය වාසිය වන්නේ .bashrcපිහිටුවීම් හැකි PS1විවිධ ක්රම හතර (xterm + කිසිදු-වර්ණ, xterm + වර්ණය, කිසිදු-xterm + කිසිදු-වර්ණ, කිසිදු-xterm + වර්ණ) දී. මෙම පිළිතුර වර්තමාන ක්‍රම හතරටම සහ අනාගත ක්‍රම සඳහාද සහාය වේ.

තවත් වාසියක් නම්, මෙම ක්‍රමයට ඔබේ වෙනස්කම් ඇතුළත් කිරීම සඳහා ගමන් කිරීමට අඩු සංකීර්ණ පාලන කේත ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.