To pytanie ma już odpowiedź tutaj:
Są chwile, kiedy chcę wziąć parametry poprzedniego polecenia i zastosować je do bieżącego polecenia.
Oto przykład
$ cat foo.txt
$ vim foo.txt
Chciałbym znaleźć skrót, aby nie musieć wpisywać vim foo.txt
linux
bash
parameters
spuder
źródło
źródło
~/foo.txt
jest drukowany przezlocate
.Odpowiedzi:
Często używam polecenia Bash
yank-last-arg
, skrótuM-.
lubEsc
+.
. Spowoduje to skopiowanie ostatniego argumentu z poprzedniego wpisu historii do bieżącego wiersza w bieżącej pozycji, dzięki czemu można sprawdzić i edytować argument.źródło
Rozwiązaniem jest użyć
!$
przykład:
Aby pobrać ostatni parametr z ostatniego polecenia, użyj `! Foo: $, jak pokazano poniżej
Możesz alternatywnie użyć następującej składni
http://www.thegeekstuff.com/2011/08/bash-history-expansion/
źródło
!$
rozwija się tylko do ostatniego argumentu, nie wszystkie. I to nie odpowiada na twoje pytanie, jak stwierdzono - czy chcesz zastąpić komendę jak wvim "$(locate foo.txt)"
?!*
- gnu.org/software/bash/manual/bashref.html#History-Interaction