Як я можу запустити іншу команду, але з однаковими аргументами?


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+.>

Докладнішу інформацію див. У документації щодо взаємодії історії башів .


З !: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.