Jak mogę uruchomić inną komendę, ale z tymi samymi argumentami?

8

Na przykład edytuję, a następnie uruchamiam to samo źródło.

vim arbit.py
python arbit.py

Wiem, że mógłbym uruchomić go od wewnątrz vim, ale chcę ogólne rozwiązanie w Bash. Ciągle znajduję sytuacje, w których ponownie wykorzystuję argumenty.

Jak mogę to zrobić?

Sanjeev Satheesh
źródło

Odpowiedzi:

12

Zastosowanie !*. Rozszerza się na wszystkie słowa oprócz pierwszego (tj. Polecenia).

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

Możesz połączyć to ze wszystkimi funkcjami !, na przykład:

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

Lub, jeśli chcesz tylko ostatnie słowo, istnieją dwa inne sposoby:

$ vim arbit.py
$ python !$

lub:

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

Więcej informacji znajduje się w dokumentacji interakcji historii bash .

Mikel
źródło
Ponownie !:2wykorzystaj drugi argument poprzedniego polecenia.
Matthias Braun
3

Można to zrobić na co najmniej kilka sposobów.

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

który pobiera ostatni argument poprzedniego polecenia, podobnie jak:

$ vim arbit.py
$ python !$

lub

$ vim arbit.py
$ python !*

który pobiera wszystkie argumenty poprzedniego polecenia.

Wstrzymano do odwołania.
źródło