对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