Відповіді:
Ви можете використовувати $_або!$ згадати останній аргумент попередньої команди.
Також 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
$_замість цього.
Так, ви можете використовувати !$для згадування останнього аргументу попередньої команди.