Быстрое сочетание клавиш истории Bash для! *

В Bash есть несколько удобных операторов для повторения частей последней команды: !^ расширяется до первого аргумента предыдущей команды, например,

$ echo one "two three"
one two three
$ echo !^
echo one
one
!$ расширяется до последний аргумент предыдущей команды, например
$ echo one "two three"
one two three
$ echo !$
echo "two three"
two three
!*, расширяется до всех аргументов предыдущей команды, например
$ echo one "two three"
one two three
$ echo !*
echo one "two three"
one two three

(Насколько я понимаю, это синтаксический сахар для , !!:$ и !!:* соответственно, где !! - это обозначение события, которое расширяется до предыдущей команды, а ^, $ и * - это обозначения слов, см. Справочное руководство Bash или .)

Они часто весьма удобны. Но он становится еще более прохладным с помощью сочетаний клавиш:

!^ расширяется до первого аргумента предыдущей команды, например
$ echo one "two three"
one two three
$ echo !^
echo one
one

!^ расширяется до первый аргумент предыдущей команды, например

Также можно нажать Alt + Ctrl + y, чтобы вставить первый аргумент предыдущей команды, как если бы вы написали !^ на эта точка.

(См. справочное руководство Bash или info readline.)

Я предпочитаю сочетания клавиш над операторами истории Bash, потому что я может видеть, что я вставляю, прежде чем я на самом деле выполняю команду. Однако, похоже, не существует ярлыка, который позволяет мне вставлять все слова предыдущей команды, то есть задачи, выполняющие !*. По крайней мере, я не мог его найти.

1
задан 21 October 2014 в 14:15

0 ответов

Другие вопросы по тегам:

Похожие вопросы: