При запуске команд иногда может потребоваться запустить команду с аргументом из последней команды. Как ты можешь это сделать?
Конечно, за исключением использования клавиш со стрелками и Delклавишами: ↑←←←... ←→→DelDelDel... Del<new_command>
.
command-line
bash
Раду Рэдяну
источник
источник
Есть несколько сочетаний клавиш, если вам нужны все аргументы из предыдущей команды или только последний аргумент.
<command> !*
<command> !$
Примеры:
Если вам нужен один аргумент из списка аргументов предыдущей команды, вы можете использовать
<command> !!:<argNumber>
Пример:
источник
!
в одной версии ARG, например,!:2
. Предполагается, что по умолчанию bash.!^
вместо!:1
.Упоминается
!*
и!$
это хорошая вещь, но когда вам нужно сделать небольшое редактирование readline ярлыки приходят на помощь!Например, вместо бесчисленного ↑←←←... ←→→DelDelDel... Delвы можете просто нажать ↑ Ctrl-a(перейти к началу строки) Alt+d(удалить до конца слова)
Для получения дополнительной информации
man readline
и поискаDefault key bindings
.источник
Чтобы взять
n
аргумент th из предыдущей команды, введите Alt+n
+ Alt_. Например, после:набрав с
echo
последующим, Alt2Alt_вы получите это в следующем приглашении:«Скриншот» после того, как вы нажали Alt2:
Вы можете повторить Alt_несколько раз, чтобы получить
n
th аргумент предыдущих команд подряд.Еще одна полезная идея - определить псевдоним
r="fc -s"
. Затем вы можете сделать замену команды:источник