Как поместить стандартный вывод в строку редактирования? - PullRequest
3 голосов
/ 04 июля 2019

Это bash 5. Я хочу, чтобы выходные данные команды или конвейера оказались в строке редактирования.

$ 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 Ответ

5 голосов
/ 06 июля 2019

Ctrl + Alt + e расширяет подстановки команд ($() и ``).Он также заменяет другие виды выражений в командной строке, например, псевдонимы, для получения дополнительной информации см. Ресурсы ниже.

По моему опыту, это очень полезная и малоизвестная функция Bash.

Youможно использовать `` и Ctrl + Alt + e , чтобы заменить командную строку выводом.Это не сохраняет переводы строки, хотя.Также будьте осторожны с побочными эффектами всего, что вы раскрываете в командной строке.Если вы развернете `rm filename`, он удалит filename при использовании Ctrl + Alt + e .


Пример:

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

Ctrl + Alt + e

$ hi more lines

Ресурсы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...