Как получить имя команды последней выполненной команды?

Пример: Я man ls , чем хочу получить только man .

Используя !! Я могу получить man ls но как мне получить man ?

  • Очистить историю bash, за исключением последних n строк
  • Получение различных частей линии
  • Как добавить новую строку в текстовый файл на выходе из удаленного сценария оболочки с помощью plink
  • Сценарии IBM V7000 для мониторинга
  • диапазон конкретных котов от / etc / hosts до диалогового окна
  • Как использовать globs / wildcards, когда опция -C используется в команде tar?
  • Подстановки команд vs обратные сбрасывания экранов в цитируемой строке
  • Почему у bash есть опция HISTCONTROL = ignorespace?
  • 2 Solutions collect form web for “Как получить имя команды последней выполненной команды?”

    Вы можете выбрать определенное слово из последней введенной команды с помощью !!: и обозначение слова. В качестве словаря вам нужно 0 . Вы можете найти ^ и $ полезно тоже. От man bash :

    Текстовые редакторы

    0 (ноль) Нулевое слово. Для оболочки это командное слово.

    ^ Первый аргумент. То есть, слово 1.

    $ Последний аргумент.

    Поэтому в вашем случае попробуйте:

     echo !!:0 

    В интерактивном режиме самым простым способом это просто комбинация клавиш alt + 0 и alt + . , Ярлык alt + . означает «напомнить n-е слово из предыдущей строки» (по умолчанию последний), а alt + 0 дает ему аргумент 0.

    Это должно работать для интерактивного bash для большинства систем (в общем, для всех оболочек, которые используют readline качестве входной библиотеки).

    https://stackoverflow.com/questions/4009412/bash-how-to-use-arguments-from-previous-command

    Linux и Unix - лучшая ОС в мире.