在输入的末尾添加一个空行

bal*_*lki 12 command-line bash

我有一些命令可以在末尾没有新行的情况下产生输出,就像这样

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$
Run Code Online (Sandbox Code Playgroud)

目前我通过somecmd | sed 's/$/\n/' | tr -s '\n' 是否有更好的方法来解决这个问题?

Kje*_*sen 20

只需在它之后运行 echo,它应该会生成一个换行符

Myprompt$ somecmd ; echo
Run Code Online (Sandbox Code Playgroud)

如果您需要将它提供给其他东西,请在子 shell 中运行它:

Myprompt$ ( somecmd ; echo ) | someothercmd
Run Code Online (Sandbox Code Playgroud)

或者..正如@camh 指出的那样,实际上不需要子shell,您可以使用当前shell环境中的命令列表执行它:

Myprompt$ { somecmd ; echo ; } | someothercmd
Run Code Online (Sandbox Code Playgroud)