Linuxを使用していますが、かなりの量を使用しているbashシェルをまだカスタマイズしていません。だから、私は尋ねます:あなたがbashのために持っているあなたのお気に入りのカスタマイズは何ですか?
9 に答える
カスタムプロンプトは私の最初のものです。私は'$'が好きではありませんでした:)
私自身のプロンプトは私にとって非常に個人的なものです。最初はマルチラインで、多くの人はファンではありませんが、私にはぴったりです。また、バージョン管理システムが有効になっています。ソースツリーにいる場合は、svnリビジョン/gitブランチが報告されます。
をご覧になることをお勧めしzsh
ます。
これははるかに強力であり、シェルのカスタマイズについて質問する場合は、すぐに使用できます。
いくつかのキラー機能はパス拡張です:
cd /u/l/X<TAB> -> cd /usr/local/X11
とグロブ
wc -l **/*.xml
(bash3もそれを行うので、いくつかの改善があります)
そしてそれは十分に賢いので
for i in .*; do cp $i dotfiles; done
あなたを困らせたり、叙事詩的に失敗したりすることはありません。
そして、それは多くのオプションと大規模な補完ライブラリを持っています。
- エイリアスの束。タイプミス用のものもあれば、デフォルトで必要な動作を提供するためのものもあれば、キーストロークを減らすためのものもあります。
- emcasからemacs
- lsからls-lt
- pu to pushd
- po to popd
- コマンドプロンプトに色を付ける
いくつかのシェルオプションを有効にします。
# Make bash append rather than overwrite the history on disk shopt -s histappend # Enable cool globbing wildcards shopt -s extglob
いくつかのエイリアスを追加します。
alias ls="ls --color=auto" alias hd="hexdump -C"
出力の色付け
grep
:export GREP_OPTIONS=--color=auto export GREP_COLORS='ms=01;36'
私はzshの提案を2番目にしています。これらのほとんどはbashでも機能すると確信していますが。
lowercase = command upercase=suffix-commandの規則に注意してください。(これらのいくつかはzsh-loversのマンページから来ています)
alias -g bigfiles="find . -size +50000k -exec ls -lh {} \; | awk '{ print \$8 \": \" \$5 }'"
alias -g f="find . -name"
alias -g G='| egrep'
alias -g g="grep"
alias -g H='| head'
alias -g LL="2>&1 | less"
alias -g L="| less"
alias -g NUL="> /dev/null 2>&1"
ubuntuユーザーとして:
alias 'Ag'='sudo apt-get install'
alias 'As'='apt-cache search'
alias 'Ai'='apt-cache show'
alias 'Ar'='sudo apt-get remove'
alias 'Au'='sudo apt-get update;sudo apt-get dist-upgrade'
ルビーユーザーとして
alias Gs='gem search --remote'
alias Gg='sudo gem install'
alias Gi='gem specification'
また、 http://dotfiles.org/.bashrcを少し時間をかけて歩くこともできます。あそこにはたくさんの宝石があります。
私は通常、 Bash Completionを設定するようにしています。これは、sshでホスト名をタブで完了できない場合に煩わしいほど慣れているためです。
すべてのターミナルウィンドウのタイトルから、現在のホストとディレクトリがわかるように、プロンプトコマンドを設定しました。
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}:${PWD}\007"'
この方法では、「xterm」や「Terminal」などのタイトルのウィンドウがたくさん表示されません。
私はカスタマイズのためにたくさんのものを持っています:最初にあります:
function add
{
cd;
echo "alias $*" >>~/bash/aliases.sh;
source ~/bash/aliases.sh;
cd -;
}
これは、私の.bashrcファイルから供給される私の〜/ bash/aliasesファイルにエイリアスを追加します。私が本当に好きなものの1つは次のとおりです。
エイリアスprograms='echo$ PATH | sed "s /:/ / g" | xargs ls '
これをgrepと一緒に使用して、あらゆる種類のものを取得できます。
私もこれを持っていますが、これは本当に役に立ちます:
function up
{
if [ "$1" = "" ];
then
cd ..;
return;
fi
NUM_TIMES=$( echo $(($1 - 1)) );
for ((x=0;$x<=$NUM_TIMES; x++))
do
cd ..;
done;
}
〜/ bash / Functionsファイルにあります。これは、bashに追加したもののほんの一部です。
私にとって重要なのは、プロンプトに色を追加することです。これにより、2セットの出力がある場合に、視覚的な区切り文字として機能します。どこで終わり、次がどこから始まるかが簡単にわかります。
他のプロンプトの設定(継続行、選択、実行トレース):
#---------------------------------------------------
# set Bash prompts
#---------------------------------------------------
export PS2='continue> '
export PS3='choose: '
export PS4='[$LINENO $SECONDS] '