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


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 для более подробной информации.


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

3

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

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

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

$ vim arbit.py
$ python !$

или

$ vim arbit.py
$ python !*

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.