对bash一知半解,却要在三个平台(fedora, ubuntu和cygwin)上面配置,因为每个平台提供的缺省配置不同,所以不太好写一个可移植配置文件,尤其是对我这样的菜鸟来说。
所以,下面的配置并不能直接拿来用,可能需要调整,取决于在哪个平台上。但目的只有一个,高效地使用bash。
shopt -s checkwinsize
将两个经常一起使用的命令组合成一个,参见What's in your bash history?
function cdls () {
if [ $# = 0 ]; then
cd && ls -l
else
cd "$*" && ls -l
fi
}
alias lc="cdls"
以下两段参见Perl Hacks
“一键”添加、删除别名[1]
alias realias='vi ~/.aliases; source ~/.aliases'
神奇的Perl命令行
alias reperl='perl -de0'
alias pmver="perl -le '\$m = shift; eval qq(require \$m)
or die qq(module \"\$m\" is not installed\\n); print \$m->VERSION'"
历史是宝贵的财富,参见Power Shell Usage: Bash Tips & Tricks
shopt -s histappend
export HISTCONTROL=ignoredups
export HISTIGNORE="[ ]*:&:bg:fg:exit"
HISTFILESIZE=1000000000
HISTSIZE=1000000
case "$TERM" in
screen*|xterm*|rxvt*)
# for fedora: PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
PROMPT_COMMAND='history -a; echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
;;
*)
PROMPT_COMMAND='history -a'
;;
esac
别忘了在.inputrc里面添加如下内容
"\e[A": history-search-backward "\e[B": history-search-forward
只有ubuntu里需要以下配置,参见Colors and Prompts in BASH或者Tip: Prompt magic
case "$TERM" in
screen*|xterm*|rxvt*)
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
;;
*)
PS1='\u@\h:\w\$ '
;;
esac