如何在编辑行上放置stdout?

时间:2019-07-04 14:11:52

标签: bash

这是bash5。我希望命令或管道的输出在编辑行上结束。

$ perl -E'say "hi"; say "more lines";'
hi
more lines
$ perl -E'say "hi"; say "more lines";' | ???magic-goes-here???
$ hi
> more lines
> █

或者也许

$ hi more lines█

1 个答案:

答案 0 :(得分:5)

Ctrl + Alt + e 扩展命令替换($()``)。它还会替换命令提示符中的其他类型的表达式,例如别名,请参阅下面的资源以获取更多详细信息。

根据我的经验,它是Bash的一项非常有用且鲜为人知的功能。

您可以使用`` Ctrl + Alt + e 将命令行替换为其输出。但是,它不保留换行符。此外,在命令行提示符下扩展的任何内容的副作用也要小心。如果展开`rm filename`,则在使用 Ctrl + Alt + e 时,它将删除filename


示例:

$ `perl -E'say "hi"; say "more lines";'`

Ctrl + Alt + e

$ hi more lines

资源: