在我的终端提示中添加一个制表符和换行符

Car*_*ate 6 command-line prompt

我的终端提示太长了。如果我输入一个长命令,它会被换到下一行,这很难阅读。

我想我会从 ParrotOS 获取一个页面,然后在提示下方的行中输入命令。


之后,我设法通过进入~/.bashrc和更改来添加换行符

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)

到(注意\n末尾):

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\$ '
Run Code Online (Sandbox Code Playgroud)

这有效。在$现在是一个换行符。问题是,我还想把它标记一下。我试过:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\t\$ '
Run Code Online (Sandbox Code Playgroud)

但这会打印出一个时间:

myName@myMachine:~/someDir
14:59:15$ 
Run Code Online (Sandbox Code Playgroud)

显然 \t在这种情况下,是时间戳占位符?

我怎样才能在那里打印一个文字标签?我当然可以只添加空格,但这不是很干净。

Jos*_*Jos 13

根据Bash 手册,水平选项卡没有代码,并且\t显示当前时间。

但是,您可以使用\xxx其中 xxx 是字符的八进制 ASCII 代码将任意字符插入到提示字符串中。水平制表符有一个制表符,其 ASCII 十进制代码为 9。因此,您可以通过将\011(十进制 9 的八进制值)插入到您的序列中来在提示中获得一个水平制表符。