Jak mogę przypomnieć sobie argument poprzedniego polecenia bash?
Czy istnieje sposób w Bash, aby przywołać argument poprzedniego polecenia?
Zwykle robię vi file.c
po którym następuje gcc file.c
.
Czy istnieje sposób w Bash, aby przywołać argument poprzedniego polecenia?
7 answers
Możesz użyć $_
LUB !$
, aby przywołać ostatni argument poprzedniego polecenia.
Również Alt + .
może być użyte do przywołania ostatniego argumentu z poprzednich poleceń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 12:17:59
Jeśli poprzednie polecenie miało dwa argumenty, jak to
ls a.txt b.txt
A chciałeś pierwszego, możesz wpisać
!:1
Daje
a.txt
Lub jeśli chcesz oba, możesz wpisać
!:1-2
Daje
a.txt b.txt
Możesz rozszerzyć to na dowolną liczbę argumentów, np.:
!:10-12
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 13:10:33
W wierszu poleceń możesz nacisnąć esc-. lub alt+.
Przechodzi przez poprzednie argumenty, których użyłeś.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-19 17:31:22
!!:n
Gdzie n
jest pozycją opartą na 0 żądanego argumentu.
Na przykład:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
Prefiks !
jest używany do uzyskiwania dostępu do poprzednich poleceń.
Inne przydatne polecenia:
-
!$
- ostatni argument z poprzedniego polecenia -
!^
- pierwszy argument (po programie / wbudowanym / skrypcie) z poprzedniego polecenia -
!!
- poprzednie polecenie (często wymawiane "bang bang") -
!n
- numer polecenian
odhistory
-
!pattern
- najnowsze dopasowanie komendpattern
-
!!:s/find/replace
- ostatnie polecenie, zastąpfind
przezreplace
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-15 18:59:18
Jeśli znasz liczbę podaną w historii dla danego polecenia, możesz przyjąć dowolny argument w tym poleceniu, używając następujących terminów.
Użyj następującego, aby pobrać drugi argument z trzeciego polecenia w historii,
!3:2
Użyj następującej, aby pobrać trzeci argument z piątego ostatniego polecenia w historii,
!-5:3
Używając znaku minus, prosisz go o przejście od ostatniego polecenia historii.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-23 17:51:06
Tak, możesz użyć !$
, aby przywołać ostatni argument poprzedniego polecenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 12:18:47
!* uruchamia nowe polecenie ze wszystkimi poprzednimi argumentami.
ls /tmp
cd !*
#you are now in /tmp
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-16 18:40:24