9.2. 立即加载不同的提示符

您可以通过键入以下内容来更改当前终端中的提示符(使用上面的“elite”函数示例)source elite然后是elite(假设 elite 函数文件是工作目录)。 这有点麻烦,并且会在您的环境空间中留下一个额外的函数 (elite) - 如果您想清理环境,则必须键入unset elite也是如此。 这似乎是小型 shell 脚本的理想选择,但是脚本在这里不起作用,因为脚本无法更改当前 shell 的环境:它只能更改它在其中运行的子 shell 的环境。 一旦脚本停止,子 shell 就会消失,并且脚本对环境所做的更改也会消失。 可以更改当前 shell 环境变量的是环境函数。 bashprompt 软件包将一个名为 callbashprompt 的函数放入您的环境中,并且,虽然他们没有记录它,但是可以调用它来动态加载任何 bashprompt 主题。 它会在其安装的主题目录中查找(您调用的主题必须在那里),获取您请求的函数,加载该函数,然后取消设置该函数,从而保持您的环境整洁。 callbashprompt 并非旨在以这种方式使用,并且没有错误检查,但是如果您记住这一点,它会工作得很好。