Как я могу запустить другую команду, но с теми же аргументами?

8

Например, я редактирую, а затем запускаю тот же источник.

vim arbit.py
python arbit.py

Я знаю, что могу запустить его изнутри vim, но я хочу общее решение для Bash. Я продолжаю находить ситуации, когда я повторно использую аргументы.

Как я могу это сделать?

Санджив Сатиш
источник

Ответы:

12

Использование !*. Он распространяется на все слова, кроме первого (то есть команды).

$ vim arbit.py
$ python !*
python arbit.py

Вы можете комбинировать его со всеми функциями !, например:

$ vim arbit.py
$ ls
$ python !vim:*
vim arbit.py

Или, если вы хотите только последнее слово, есть два других способа:

$ vim arbit.py
$ python !$

или:

$ vim arbit.py
$ python <Esc+.>

См. Документацию по взаимодействию с историей bash для более подробной информации.

Mikel
источник
С !:2вами повторно использовать второй аргумент предыдущей команды.
Матиас Браун
3

Есть по крайней мере несколько способов сделать это.

$ vim arbit.py
$ python[press Alt-.]

который извлекает последний аргумент предыдущей команды так же, как:

$ vim arbit.py
$ python !$

или

$ vim arbit.py
$ python !*

который извлекает все аргументы предыдущей команды.

Приостановлено до дальнейшего уведомления.
источник