PROMPT_COMMAND

PROMPT_COMMAND指的是当命令运行结束后所输出的字符.

比如:

  1. echo $PROMPT_COMMAND
  2. echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
  3. echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"

这个是啥也没有的输出…

咱改一改:

  1. PROMPT_COMMAND='echo "Hello world!"'
  2. Hello world!
  3. whoami
  4. mr
  5. Hello world!
  6. pwd
  7. /home/mr/test
  8. Hello world!
  9. date
  10. 2016 01 04 星期一 22:17:24 CST
  11. Hello world!

看到了? 把PROMPT_COMMAND改成"Hello world!"之后, 每次命令结束都会再输出一个"Hello world!", 我们可以在这里做一点小动作:

作者把它改成了时间:

export PROMPT_COMMAND="date +%H:%M:%S"

  1. pwd
  2. /home/mr/test
  3. 22:21:34
  4. whoami
  5. mr
  6. 22:21:36

我觉着没卵用, 倒不如这样好玩:

先自定义一个函数:

  1. function ttt() { [[ $? -eq 0 ]] && echo -n yes || echo -n no; }

然后:

  1. export PROMPT_COMMAND="ttt"

这样每次命令完成都有反馈啦~

(虽然也没什么卵用…