Answers:
.bashrc
එය අන්තර්ක්රියාකාරීව ආරම්භ කරන සෑම විටම බාෂ් ධාවනය කරන ෂෙල් පිටපතකි . එය අන්තර්ක්රියාකාරී ෂෙල් සැසියක් ආරම්භ කරයි. විධාන විමසුමේදී ඔබට ටයිප් කළ හැකි ඕනෑම විධානයක් එම ගොනුවට දැමිය හැකිය.
ඔබේ විශේෂිත පරිසරය තුළ භාවිතා කිරීම සඳහා කවචය සැකසීමට හෝ ඔබේ අභිමතය පරිදි දේවල් රිසිකරණය කිරීමට ඔබ මෙහි විධාන දමයි. ක්රියාත්මක කිරීමට පොදු දෙයක් .bashrc
ඇත යොමුවීම් ඔබ හැම විටම ලබා ගත කිරීමට අවශ්ය බව.
.bashrc
මත ධාවනය සෑම අන්තර් ෂෙල් දියත්. ඔබ කියන්නේ නම්:
$ bash ; bash ; bash
ඉන්පසු Ctrl-Dතුන් වතාවක් පහර දෙන්න, තුන් වරක් .bashrc
ධාවනය වේ. නමුත් ඔබ ඒ වෙනුවට පවසන්නේ නම්:
$ bash -c exit ; bash -c exit ; bash -c exit
එවිට බාෂ් ඇමතුම අන්තර්ක්රියාකාරී නොවන .bashrc
බැවින් -c
එය කිසිසේත් ක්රියාත්මක නොවේ . ඔබ ගොනුවකින් ෂෙල් ස්ක්රිප්ට් ධාවනය කරන විටද එය සත්ය වේ.
පරස්පරතාව .bash_profile
සහ .profile
ඒවා ක්රියාත්මක වන්නේ නව පිවිසුම් කවචයක ආරම්භයේ පමණි. ( bash -l
) ඔබ විධාන යනවා, යන්න තෝරා .bashrc
එදිරිව .bash_profile
ඔබ එය එක් වරක් හෝ සෑම අන්තර් ෂෙල් ආරම්භයක් ක්රියාත්මක කිරීමට අවශ්ය නැද්ද යන්න මත මත පදනම්ව.
අන්වර්ථ නාමයන්ට ප්රති-ආදර්ශයක් ලෙස, මම දැමීමට කැමති .bashrc
, ඔබට ඒ වෙනුවට අවශ්ය PATH
වෙනස්කම් කිරීමට අවශ්යය .bash_profile
, මන්ද මෙම වෙනස්කම් සාමාන්යයෙන් හඳුනාගත නොහැකි ය :
export PATH="$PATH:/some/addition"
ඔබ ඒ .bashrc
වෙනුවට තැබුවහොත් , ඔබ අන්තර්ක්රියාකාරී උප කවචයක් දියත් කළ සෑම අවස්ථාවකම :/some/addition
, PATH
නැවත වරක් අවසානයට සම්බන්ධ වනු ඇත, ඔබ විධානයක් වැරදි ලෙස ටයිප් කරන විට කවචය සඳහා අමතර වැඩක් නිර්මාණය කරයි.
ඔබ සෑම විටම නව අන්තර් බෑෂ් shell එකක් ලබා පිටතට ශෙලයvi
සමග :sh
උදාහරණයක් ලෙස,.
.bashrc
. මෙය සමහර විට අනපේක්ෂිත ලෙස හැසිරීමට හේතු විය හැක . සුපුරුදු විසඳුම වන්නේ ප්රභවය හෝ ඒ වෙනුවට .bashrc
ලබා ගැනීමයි. .profile
.bash_profile
.bashrc
වෙනත් ෂෙල් වෙඩි භාවිතා කිරීමට අදහස් නොකරන බැවින් , එය වෙනත් මූලාශ්රවලින් ලබා නොගැනීම හොඳය .profile
(ඒවා වෙනත් bash
ෂෙල් නොවන අය විසින් භාවිතා කළ හැකිය ).
source ~/.bashrc
හෝ . ~/.bashrc
හෝ [[ -f ~/.bashrc ]] && source. ~/.bashrc
හෝ [ -f ~/.bashrc ] && source ~/.bashrc
වැඩ නැහැ?
.bashrc
එය ඇත්තෙන්ම මූලාශ්රයක් බව මම තේරුම් ගතිමි ( superuser.com/a/183980/128768 වෙතින් නිර්දේශිත විධානය භාවිතා කරමින් ). මා මුහුණ දෙන ගැටලුව ඇත්ත වශයෙන්ම https://github.com/junegunn/fzf
මෙම විධානය ඇතුළත ලබා නොගැනීමයි .bashrc
: source ~/.fzf.bash
. මම නව පර්යන්තයක් දියත් කරමි, පසුව Ctrl
+ R
සහ මට ලැබේ `__fzf_history__`bash: fzf: command not found
. මම අතින් ප්රභව කරන .bashrc
අතර එකම යතුරු කෙටිමඟ අපේක්ෂිත පරිදි fzf දියත් කරයි. මෙහි ශබ්දය සඳහා සමාව ඉල්ලන්න.
.bashrc
ගොනුවක පරමාර්ථය නම් ඔබට විචල්යයන්, කාර්යයන් සහ අන්වර්ථයන් සැකසිය හැකි ස්ථානයක් සැපයීම, ඔබේ (PS1) විමසුම නිර්වචනය කිරීම සහ ඔබ නව පර්යන්ත කවුළුවක් විවෘත කරන සෑම අවස්ථාවකම භාවිතා කිරීමට අවශ්ය වෙනත් සැකසුම් නිර්වචනය කිරීමයි.
ඔබ නව පර්යන්තයක්, කවුළුවක් හෝ කවුළුවක් විවෘත කරන සෑම අවස්ථාවකම එය ක්රියාත්මක කිරීමෙන් එය ක්රියාත්මක වේ.
සුපිරි අවම කෙනෙකුට පහත සඳහන් දේ තිබිය හැකිය:
export CLICOLOR=1
export LANG="en_US.UTF-8"
alias cp="cp -i"
alias ls="ls --color=auto"
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
export EDITOR="vim"
ආරම්භ කිරීමට ඔබ සැබවින්ම දන්නේ එපමණයි
පළපුරුදු සංවර්ධකයින් සඳහා ප්රයෝජනවත් “ඕවර්කිල්” අනුවාදය මෙන්න:
පළපුරුදු සංවර්ධකයෙකුට බොහෝ විට තවත් බොහෝ දේ ඇත.
ඔබට මෙහි මගේ දැක ගත හැකිය (සින්ටැක්ස් ඉස්මතු කිරීම සමඟ පින්තූරය) :
HISTCONTROL=ignoreboth:erasedups HISTSIZE=100000 HISTFILESIZE=200000
ls --color=al > /dev/null 2>&1 && alias ls='ls -F --color=al' || alias ls='ls -G'
md () { [ $# = 1 ] && mkdir -p "$@" && cd "$@" || echo "Error - no directory passed!"; }
git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; }
HOST='\033[02;36m\]\h'; HOST=' '$HOST
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\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH
PS2='\[\033[01;36m\]>'
set -o vi # vi at command line
export EDITOR=vim
test -f ~/.bash_aliases && . $_
test -f ~/.git-completion.bash && . $_
test -s ~/.autojump/etc/profile.d/autojump && . $_
[ ${BASH_VERSINFO[0]} -ge 4 ] && shopt -s autocd
[ -f /etc/bash_completion ] && ! shopt -oq posix && . /etc/bash_completion
[ -z $TMUX ] && export TERM=xterm-256color && exec tmux
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$home/.rvm/scripts/rvm"
පැහැදිලි කිරීම:
-1. අනුපිටපත් නොසලකා හැර පෙරනිමියට වඩා විශාල වීමට මගේ ඉතිහාස ගොනුව සකසන්න.
-2. ls
ඔබ ලිනක්ස් හෝ ඕඑස්එක්ස්
-3 භාවිතා කරන්නේද යන්න මත පදනම්ව වර්ණ විකල්පය . md
එක් විධානයක් සහිත ඩිරෙක්ටරියක් බවට පත් කිරීම සහ සීඩී කිරීම " " ශ්රිතය
. Git repo එකක තිබේ නම් වත්මන් git ශාඛාව සොයා ගන්න සහ ...
-5. -9.
-10 හි මෙන් නියම PS1 විමසුමක් නිර්වචනය කරන්න . වැඩි දියුණු කළ PS2 විමසුම
-11.
-12 විධාන රේඛාවේ vi සංස්කාරකය ලෙස සකසන්න . Vi පෙරනිමි සංස්කාරකය ලෙස සකසන්න
-13. මගේ .bash_aliases
ගොනුව තිබේ නම් එය ක්රියාත්මක කරන්න
-14. මගේ git ටැබ් සම්පුර්ණ ස්ක්රිප්ට් (දුරස්ථ හා ශාඛා සඳහා) තිබේ නම් එය ක්රියාත්මක කරන්න.
-15. ස්වයංක්රීය ජම්ප් පවතී නම් එය ක්රියාත්මක කරන්න
-16. Bash version> = 4 නම් cd කොටස ටයිප් නොකර cd'ing ට ඉඩ දෙන්න
-17.
-18 නම් සම්පූර්ණ කිරීමේ පිටපතක් ක්රියාත්මක කරන්න . TMUX තිබේ නම් එය භාවිතා කරන්න
-19. මගේ PATH
-20 වෙත rvm එක් කරන්න . Rvm තිබේ නම් එය භාවිතා කරන්න.
මම මෙය අතේ ගෙන යා හැකි පරිදි සකසා ඇති අතර එය මගේ ඕනෑම ලිනක්ස් හෝ ඕඑස්එක්ස් යන්ත්රයක අභිරුචිකරණයකින් තොරව ක්රියා කරයි - එබැවින් ඇතැම් කාර්යයන් සහ වෙනත් ස්ක්රිප්ට් භාවිතා කිරීමට පෙර පැමිණ සිටීම සඳහා පරීක්ෂණ ගණනාවක් සිදු කරනු ලැබේ.
නව පර්යන්ත කවුළුවක් විවෘත කිරීමට බලපාන ගැටළු නොමැතිව නව ගොනුවක් මත සම්පූර්ණ ගොනුව වහාම භාවිතා කිරීමද මෙය පහසු කරයි.
මතක් කරන්න - ඔබ ඔබේ .bashrc වෙනස් කරන්නේ නම්, නැවත ආරම්භ කිරීමට පෙර එය ක්රියාත්මක වන බවට වග බලා ගැනීම සඳහා නව පර්යන්ත කවුළුවක් ආරම්භ කිරීමට වග බලා ගන්න (හොඳම පුහුණුව - වෙනස් වූ වහාම එය කරන්න). ඔබ කවදා හෝ ඔබේ .bashrc අවුල් කර නැවත පණගන්වන්නේ නම් ඔබට පිවිසීමට හැකියාවක් නැත! පුද්ගලිකව මම පුද්ගලික යන්ත්රවල දෙවන 'පරිපාලක' පරිශීලකයෙකු ද නිර්මාණය කරමි, එවිට එවැනි හදිසි අවස්ථාවකදී (බිඳුණු පිවිසුම්), මට එයට ප්රවේශ වී මගේ අනෙක් පිවිසුම් .bashrc ගොනුව නිවැරදි කිරීමට sudo භාවිතා කළ හැකිය.
එය bash
වින්යාස ගොනුවකි.
අන්තර්ක්රියාකාරී (පුරනය නොවන) ෂෙල් වෙඩි, පසුව වින්යාසය මෙම ලිපිගොනු වලින් කියවනු ලැබේ:
$HOME/.bashrc
පිවිසුම් කවච සඳහා, වින්යාසය මෙම ලිපිගොනු වලින් කියවනු ලැබේ:
/etc/profile
(සැමවිටම උපුටා ගන්නා ලදි)$HOME/.bash_profile
(මෙම ලිපිගොනු සොයා ගන්නා තෙක් අනුපිළිවෙලින් පරීක්ෂා කරනු ලැබේ, පසුව වෙනත් කිසිවක් කියවන්නේ නැත)$HOME/.bash_login
$HOME/.profile
ඒවා පටවන ආකාරය / කෙසේද යන්න පිළිබඳ සරල නිදර්ශනයක් පහත රූපයේ ඇත.
මම echo
මගේ .bashrc
සහ.bash_profile
man bash
වැඩි විස්තර සඳහා බලන්න
.bashrc
අතර වෙනස අතර වෙනස සහ වෙනස හඳුනා ගැනීමයි . අධෛර්යමත් නොවන්න, ඔබ අවංක උත්සාහයක් ඉදිරිපත් කරයි, නමුත් වෙනත් පිළිතුරු වලින් ආවරණය නොවන සමහර අන්තර්ගතයන් සමඟ ප්රශ්නවලට පිළිතුරු දීමට අවධානය යොමු කරන්න. .bashrc
.bash_profile