Intereting Posts
error: конфликтующие типы при перекрестном компиляции openssh для armv5tel Перенаправление портов SNMP в маршрутизатор для использования с привязкой SNMP openHAB Только операционная система RDP Загрузка Linux зависает: ACPI: Нет _BQC метод, не может определить начальную яркость Восстановить файлы из образа резервного копирования partclone без генерации большого файла необработанного диска? (например, файл Tib для Acronis)? как использовать awk / cut для получения данных столбца, имеющего пространство tar: Удаление имени `/ 'из имен участников Fedora 25 Cinnamon застрял в графическом цикле регистрации, tty login успешно Концептуальная разница между Linux и (бесплатно) ядром BSD Говоря о размере кеша процессора, нам нужен только размер кэша на самом дальнем уровне Содержимое файла скремблировано на смонтированной файловой системе NFS Добавить строку, используя Sed на удаленной системе Как создать часть куска с добавленной новой линией в EOF? Возможно ли запустить nohup и все еще видеть подробный вывод на экране Как получить список всех установленных языков программирования в arch linux / any linux?

Что делает команда history! # Do?

На страницах руководства по history :

Обозначения событий Обозначение события – это ссылка на запись в командной строке в историческом списке. Если ссылка не является абсолютной, события относятся к текущей позиции в списке истории.

  ! Start a history substitution, except when followed by a blank, newline, = or (. !n Refer to command line n. !-n Refer to the current command minus n. !! Refer to the previous command. This is a synonym for `!-1'. !string Refer to the most recent command preceding the current position in the history list starting with string. !?string[?] Refer to the most recent command preceding the current position in the history list containing string. The trailing ? may be omitted if string is followed immediately by a newline. ^string1^string2^ Quick substitution. Repeat the last command, replacing string1 with string2. Equivalent to ``!!:s/string1/string2/'' (see Mod‐ ifiers below). !# The entire command line typed so far. 

Все остальные имеют смысл, но я не могу понять, какое использование для !# из контекста. Что он делает и как он обычно используется?

Ответ: Что означает: #: 3 означает команду оболочки

В принципе, вы можете использовать его для сокращения команды в сочетании с ': n', поэтому:

 $ cd /home/me/some/super/deep/dir/that/i/do/not/want/to/type/again ; ll !#:2 

Конечно, это немного глупый пример, потому что вы могли бы просто сделать, но вы поняли, что его можно использовать в сценариях sh.