Why does $_ in $MAILPATH work weirdly?
张森
sen.zhang at 126.com
Sat Jun 24 17:44:28 UTC 2006
I'm using dapper, and the bash version is 3.1.17(1)-release (i486-pc-linux-gnu).
My .bashrc follows:
--------------------------------------------------------
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package
bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
#export HISTCONTROL=ignoredups
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
# set variable identifying the chroot you work in (used in the prompt
below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
'
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
;;
esac
# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
'
# If this is an xterm set the title to user at host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:
${PWD/$HOME/~}\007"'
;;
*)
;;
esac
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi
# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi
# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"
alias gnome-terminal="gnome-terminal --geometry=80x46"
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
case $TERM in
r*)
#PS1='\[\033]0;\h:\w\007\]\[\033[1;$hcolor\][\D{%Y-%m-%d}
\t]\u@\h:\w:\n$\[\033[0m\] '
;;
eterm)
LC_ALL=C
PS1="\n\[\e[32;1m\]\u[\D{%Y-%m-%d}
\t]@\h:\[\e[33;1m\]\w\[\e[0m\]\n$"
;;
dumb)
LC_ALL=C
PS1="\n\u[\D{%Y-%m-%d} \t]@\h:\w\n$"
;;
linux)
LC_ALL=C
PS1="\n\[\e[32;1m\]\u[\D{%Y-%m-%d}
\t]@\h:\[\e[33;1m\]\w\[\e[0m\]\n$"
;;
*term)
#LC_ALL=C
PS1="\[\e]2;\u@\H \w\a\n\[\e[32;1m\]\u[\D{%Y-%m-%d}
\t]@\h:\[\e[33;1m\]\w\[\e[0m\]\n$"
;;
*)
PS1="\n\[\e]2;\u@\H \w\a\[\e[32;1m\]\u[\D{%Y-%m-%d}
\t]@\h:\[\e[33;1m\]\w\[\e[0m\]\n$"
;;
esac
e () {
emacsclient --no-wait $*
if [ $? != 0 ]; then
emacs $* &
fi
}
export http_proxy=http://se202:se202@166.111.69.202:2020
export ftp_proxy="$http_proxy"
export MAILPATH=’/var/mail/madsen?"You have spool mails!":~/Mail/Inboxes/net9?"madsen at net9 has mails!$_":~/Mail/Inboxes/ce-lab?"zhangsen at ce-lab has mails!"’
export GTAGSLIBPATH=/usr/include
----------------------------------------------------------------------------------------------
What drives me crazy is that the $_ in the $MAILPATH's messages just expands to the last argument of the last bash
command. But according to the bash's manual, $_ should expand to the mailfile name.
And, the above setting about $MAILPATH works well in the cygwin on my box: $_ just expands to the mailfile name.
Thanks!!
--
************************************
* Best Regards! *
* Sen Zhang *
* ICT, CAS, China(PRC) *
* Homepage: http://madsen.net9.org *
************************************
More information about the ubuntu-users
mailing list