Документация для следующего в оболочке Bash:! ключевое слово

Если Вы делаете следующее в Bash - возможно, в других оболочках также - Вы выполняете команду из своей истории, которая соответствует обеспеченному ключевому слову:

$ !keyword

Я ищу документацию для этой команды. Я попытался перерыть страницу удара человека, но никакую удачу. Я также попробовал Google, но это почти невозможно (право?) для поиска пунктуации в Google.

Я хочу знать:

  1. Какой порядок это управляет поиском Ваша история? Самая старая команда к новому? Или наоборот?

  2. Я знаю о добавлении опции :p в конце команды для предотвращения выполнения, но являюсь там другими опциями? Хотя не уверенный, что другие опции я хотел бы, но просто любопытный.

Конечно, я мог понять это методом проб и ошибок, но я скорее смотрю канавка документация, прежде чем я буду использовать эту аккуратную команду.

Возможно, я смотрю в неправильном месте? Любая справка в разыскивании документации значительно ценилась бы.

2
задан 19.10.2010, 01:14

2 ответа

Это называют расширением истории. Большинство команд расширения истории относится к новой командной строке соответствия (исключениями являются ссылки на командную строку числом).

Самые полезные формы !prefix расширение до нового начала команды prefix, !?substring? расширение до новой команды, содержащей substring, и ^from^to который заменяет from to в предыдущей команде.

Можно извлечь только определенное слово вместо целой строки путем добавления указателя слова, как в

ls foo bar *~ *.pdf
rm !*

Модификаторы могут выполнять строковые замены и части извлечения слов. Модификатор :p заставляет получающуюся команду быть распечатанной, но не выполненной.

2
ответ дан 09.01.2020, 03:40

Порядок нов к самому старому.

!n выполняет команду с числом n в history.

!-n выполняет энную последнюю команду в history.

!! выполняет последнюю команду (т.е. !-1).

Вы можете также, например. sudo !! если Вы забыли снабжать префиксом что-то sudo.

Можно погуглить для bang или bang bang найти что-то на этих командах, таких как это или это

Также:

Большинство современных оболочек поддерживает команды удара csh - удар, tcsh и zsh, который все делают. В то время как некоторые команды удара не работают во всех тех оболочках, все следующее делает

Таким образом, Вы могли бы быть более обеспеченным взглядом в csh документация.

0
ответ дан 09.01.2020, 03:40

Теги

Похожие вопросы