这是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█
答案 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