1

Есть ли способ повторить вашу последнюю команду с дополнительными флагами?

Пример:

Скажи, что я делаю это:

rm myFavouriteDirectory

Я получу ответ:

rm: myFavouriteDirectory/: is a directory

Очевидно, что я хотел сделать:

rm -rf myFavouriteDirectory

Есть ли способ повторить последнюю команду с флагами, как !! -rf (это не работает)

1 ответ1

4

Смотрите "РАСШИРЕНИЕ ИСТОРИИ" в man bash .

Ближайшее, о котором я знаю, будет:
!!:0 -rf !*

!!:0 - первое слово в предыдущей команде !* это все, кроме первого (т.е. аргументы).

Но на практике я всегда набираю:
rm -rf !*

В дистрибутивах GNU, !! -rf (т. е. установка флагов в конце) будет по-прежнему работать для большинства команд, но обычно не работает в BSD и OSX. Это зависит от того, как команда обрабатывает аргументы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .