【发布时间】:2021-04-19 16:46:40
【问题描述】:
(免责声明:我使用的是 fish,但这应该同样适用于 bash)
我当前的 shell 在提示符之前打印一个换行符,以便我可以在命令输出之间轻松找到它。
# [...]
echo # newline before prompt
echo -s $arrow ' ' $cwd $git_info
echo -n -s '❯ '
然而,当没有先前的输出时,也会打印换行符,例如使用printf "\033c" 清除终端后(或首次打开终端时):
<--- bad newline: no previous output
➜ /some/dir
❯ command1
output...
<--- good newline
➜ /some/dir
❯ command2
问题:有什么办法可以摆脱这种小小的审美烦恼?
编辑#1:
为了澄清:“没有以前的输出”是指我的控制台的内容是空的,即在(重新)初始化终端之后(因为that's all printf "\033c" does)。
【问题讨论】:
-
是您唯一关心的“(重新)初始化”案例吗?我在想你也想在前一个命令没有输出时抑制额外的换行符(例如
export PATH或类似的东西)。 -
@NotTheDr01ds 是的,目前这是唯一的情况。我希望在(重新)初始化之后每个提示都以换行符 except 为前缀。