如何在命令输出后添加新行?

如何在命令输出后添加新行?

我正在 Bash 中使用这个嵌套的 shuf 命令来获取可变长度的字母数字字符串:

shuf -erz -n $(shuf -e -n 1 {0..5})  {A..Z} {a..z} {0..9}

电流输出:

这将在 shell 提示符前面的新行中输出字母数字字符串。

MyPrompt:$ shuf -erz -n $(shuf -e -n 1 {0..5})  {A..Z} {a..z} {0..9}
OcxjrMyPrompt:$

期望的输出:

我想在它自己的线路上输出。

MyPrompt:$ shuf -erz -n $(shuf -e -n 1 {0..5})  {A..Z} {a..z} {0..9}
Ocxjr
MyPrompt:$

有没有办法改变 shuf 命令或在 shuf 命令后附加另一个标准 Bash 命令以获得所需的输出?其他方法也受到欢迎,但我想让更改易于添加/删除。

我尝试搜索以前的答案,但我对 Bash 还很陌生,而且我似乎无法找到正确的术语来产生有用的结果。同样,我也尝试过自己的方法(主要使用回声和管道),但也没有取得成功。

答案1

我可能会通过附加; echo到命令来解决这个问题。

答案2

如果您只想将输出放在单独的行上,请使用paste

paste <(shuf -erz -n $(shuf -e -n 1 {0..5})  {A..Z} {a..z} {0..9})

相关内容