Відповіді:
Ви можете використовувати $_
або!$
згадати останній аргумент попередньої команди.
Також Alt + .
можна використовувати для згадування останнього аргументу будь-якої з попередніх команд.
!!:1
, !!:2
і т. Д. ( !!:0
Це сама попередня команда.) Див. Gnu.org/software/bash/manual/bashref.html#History-Interaction
!$
, ви використовуєте !^
для першого аргументу.
echo tiger rabbit
, як я можу звернутися tiger
до наступної команди?
Alt + .
не працює у режимі vi. Просто FYI, для інших, хто тут заплутався.
Якщо попередня команда мала два аргументи, як це
ls a.txt b.txt
і ти хотів першого, ти можеш набрати
!:1
давання
a.txt
Або якщо ви хотіли обох, ви можете набрати
!:1-2
давання
a.txt b.txt
Ви можете поширити це на будь-яку кількість аргументів, наприклад:
!:10-12
-bash: :1-2: bad word specifier
ls a.txt
рядок 2ll !:1-2
!:^-$
можна використовувати або, звичайно, аналогічний код у поєднанні з цифрами.
!!:n
де n
знаходиться 0-позиція потрібного аргументу.
Наприклад:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
The !
Префікс використовується для доступу попередніх команд.
Інші корисні команди:
!$
- останній аргумент з попередньої команди!^
- перший аргумент (після програми / вбудованого / скрипту) з попередньої команди!!
- попередня команда (часто вимовляється "чубчик")!n
- номер команди n
відhistory
!pattern
- остання відповідність команд pattern
!!:s/find/replace
- остання команда, замінити find
наreplace
!!:s/find/replace
ви також можете ^find^replace
.
!*
- всі аргументи з попередньої команди (після програми / вбудованого / скрипту). напр .: ls *.tmp *.cache rm !*
У командному рядку можна натиснути esc- .абоalt +.
Він переходить через останній аргумент попередніх команд.
↑
і ↓
ключі для роботи, а також.
Якщо ви знаєте число, вказане в історії для певної команди, ви можете майже взяти будь-який аргумент у цій команді, використовуючи наступні умови.
Використовуйте наступне, щоб взяти другий аргумент з третьої команди в історії,
!3:2
Використовуйте наступне, щоб взяти третій аргумент з п'ятої останньої команди в історії,
!-5:3
Використовуючи знак мінус, ви просите його перейти від останньої команди історії.
! * запускає нову команду з усіма попередніми аргументами.
ls /tmp
cd !*
#you are now in /tmp
$_
замість цього.
Так, ви можете використовувати !$
для згадування останнього аргументу попередньої команди.