在 Bash PS1 中嵌入命令时出现问题

在 Bash PS1 中嵌入命令时出现问题

大家好,我在尝试将此命令嵌入到我的 bash 提示符中时遇到了问题,以便每次显示提示符时它都会自行更新。我希望它成为提示符本身的一部分

free -m | tr -s ' ' '\t' | grep Mem: | cut -f3

欢迎提出建议和想法

答案1

你尝试了什么?你可以在你的 中定义一个函数~/.bashrc,如下所示:

function showmem() {
    free -m | tr -s ' ' '\t' | grep Mem: | cut -f3
}  

然后将 Bash 设置PROMPT_COMMAND为该函数

PROMPT_COMMAND=showmem

source ~/.bashrc无论何时改变,都要记住~/.bashrc

答案2

PROMPT_COMMAND正如@waltinator所建议的,您可以将命令嵌入到带有进程替换的实际提示中,而不是设置:

PS1='\u@\h\n$(showmem) \$ '

这个 PS1 基于您在评论中提到的那个,并使用了@waltinator 制作的功能。

相关内容