我试图从我的深度中找出一些东西,而且在功能上完全没必要。我还在整理Ubuntu,更不用说像bash这样的脚本语言了。我已经完成了一些C和Java,但它并没有出现我可以用这种方式编写脚本。
我的计划是编辑~/.bashrc
以包含基于我在http://www.linuxcommand.org/wss0150.php找到的内容的C脚本,更改退出0的值及其包含的消息,但我很快发现{ {1}}特别关注其语言。
所以,由于我的名字几乎没有bash经验,有人可以解释我如何捕获出口0并回显一个复选标记,作为新行还是在输入命令的末尾?这完全是为了我作为一个不熟悉界面的新Linux用户。
答案 0 :(得分:0)
您可以在bash中设置PROMPT_COMMAND
以在显示下一个提示之前执行某些操作。如果此命令包含对PS1
的更改,则它将在每个命令后更改您的提示。
如果最后一个命令出错,我有这个设置产生红色x
标记,成功时标记为绿色o
。
这是我的设置:
添加到〜/ .bashrc
# Do it this way so that long lines don't get messed up
RED_0=$( tput setaf 1)
GREEN_0=$( tput setaf 2)
YELLOW_0=$( tput setaf 3)
BLUE_0=$( tput setaf 4)
PURPLE_0=$( tput setaf 5)
CYAN_0=$( tput setaf 6)
RESET_0=$( tput sgr0 )
RED="\[$RED_0\]"
GREEN="\[$GREEN_0\]"
YELLOW="\[$YELLOW_0\]"
BLUE="\[$BLUE_0\]"
PURPLE="\[$PURPLE_0\]"
CYAN="\[$CYAN_0\]"
RESET="\[$RESET_0\]"
CHECK="${GREEN}o"
CROSS="${RED}x"
FANCY_PROMPT="$GREEN\u$YELLOW@\h:$PURPLE\w$BLUE$ $RESET"
_prompt_command() {
# Show red x if last command failed
# Show green o if last command succeeded
case $? in
0) PS1="$CHECK $FANCY_PROMPT" ;;
*) PS1="$CROSS $FANCY_PROMPT" ;;
esac
history -a
true
}
export PROMPT_COMMAND="_prompt_command"
这是它的样子: