第 5 章. 保存复杂提示符

随着您使用的提示符变得越来越复杂,在提示符中键入它们变得越来越繁琐,将它们制作成某种文本文件变得更加实用。 我采用了 Bashprompt 软件包使用的方法(本文档稍后讨论:第 8 章),即将提示符的主要命令放在一个文件中,特别是将 PS1 字符串定义在与文件本身同名的函数中。 这不是唯一的方法,但它效果很好。 请看以下示例

#!/bin/bash

function tonka {

#   Named "Tonka" because of the colour scheme

local WHITE="\[\033[1;37m\]"
local LIGHT_BLUE="\[\033[1;34m\]"
local YELLOW="\[\033[1;33m\]"
local NO_COLOUR="\[\033[0m\]"

case $TERM in
    xterm*|rxvt*)
        TITLEBAR='\[\033]0;\u@\h:\w\007\]'
        ;;
    *)
        TITLEBAR=""
        ;;
esac

PS1="$TITLEBAR\
$YELLOW-$LIGHT_BLUE-(\
$YELLOW\u$LIGHT_BLUE@$YELLOW\h\
$LIGHT_BLUE)-(\
$YELLOW\$PWD\
$LIGHT_BLUE)-$YELLOW-\
\n\
$YELLOW-$LIGHT_BLUE-(\
$YELLOW\$(date +%H%M)$LIGHT_BLUE:$YELLOW\$(date \"+%a,%d %b %y\")\
$LIGHT_BLUE:$WHITE\\$ $LIGHT_BLUE)-$YELLOW-$NO_COLOUR "

PS2="$LIGHT_BLUE-$YELLOW-$YELLOW-$NO_COLOUR "

}

您可以按如下方式使用它

[giles@nikola:/bin (4.498 Mb)]$ cd      (1)
[giles@nikola:~ (0 Mb)]$ vim tonka      (2)
...                                     (3) 
[giles@nikola:~ (0 Mb)]$ source tonka   (4)
[giles@nikola:~ (0 Mb)]$ tonka          (5)
[giles@nikola:~ (0 Mb)]$ unset tonka    (6)
(1)
移动到您想要保存提示符的目录
(2)
使用您喜欢的编辑器编辑提示符文件
(3)
将上面给出的提示符文本输入为“tonka”
(4)
将提示符函数读取到环境中
(5)
执行提示符函数
(6)
可选地,通过取消设置该函数来清理您的环境