有没有一种方法可以将命令提示符保存到变量中并对其进行编辑?

时间:2020-06-19 09:54:13

标签: bash command-prompt

一段时间以来,我一直在尝试使用shell脚本自定义我的bash命令提示符,但是并没有取得太大的成功。

我正在尝试将提示转换为类似的内容,其中Pos变量是我在代码中定义的字符串或bash命令。

PS1="[$PosZero][$PosOne][$PosTwo][$PosThree]$"

我尝试做的一件事是将当前命令提示符保存到一个变量中,然后尝试查看是否可以编辑括号中的内容,就像这样:

DEFAULT=$PS1

但是我一直在努力的是在已经应用一个自定义命令提示符后试图对其进行编辑。如果我只想更改一个括号,我希望所有其他括号保留当时的内容。相反,除非我将相同的信息传递给脚本中的变量,否则它们会擦除自身。

我一直试图找到一种方法来解析DEFAULT值(其中包含PS1的内容)以取出括号中的内容并将其应用于Pos变量。但是我不知道该怎么做。有人知道吗?

1 个答案:

答案 0 :(得分:0)

我想,这就是您想要的:

$ PS1='[$PosZero][$PosOne][$PosTwo][$PosThree]$ ' #Note: Use single quotes here, or escape $ as \$
[][][][]$ PosZero=abcd
[abcd][][][]$ PosOne=pqrs
[abcd][pqrs][][]$ PosZero=1234
[1234][pqrs][][]$ PosTwo=xyz
[1234][pqrs][xyz][]$ unset PosZero
[][pqrs][xyz][]$ PosOne=
[][][xyz][]$