Ответы:
Вы можете использовать $_или, !$чтобы вспомнить последний аргумент предыдущей команды.
Также Alt + .может использоваться для вызова последнего аргумента любой из предыдущих команд.
!!:1, !!:2и т.д. ( !!:0сам предыдущую команду.) См gnu.org/software/bash/manual/bashref.html#History-Interaction
!$, вы используете !^для первого аргумента.
echo tiger rabbit, как я могу сослаться tigerна следующую команду?
Alt + .не работает в режиме vi. Просто к вашему сведению, для тех, кто был смущен здесь.
Если предыдущая команда имела два аргумента, как это
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"
!Префикс используется для доступа предыдущих команд.
Другие полезные команды:
!$ - последний аргумент из предыдущей команды!^ - первый аргумент (после программы / встроенного / скрипта) из предыдущей команды!! - предыдущая команда (часто произносится как "bang bang")!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
$_вместо этого.
Да, вы можете использовать !$для вызова последнего аргумента предыдущей команды.