1. Как получить доступ к истории команд в Bash с помощью !$, !^, !* и других 2. Как использовать переменные !$, !^, !:3 и !* в командной строке Bash 3. Улучшенная работа с историей команд в Bash: !$:h и !$:t

echo foo bar foobar barfoo && echo !$ !^ !:3 !* && echo /usr/bin/foobar&& echo !$:h !$:t


1. Первая часть команды «echo foo bar foobar barfoo» выводит текст «foo bar foobar barfoo». Вторая часть «echo !$ !^ !:3 !*» выводит последний аргумент предыдущей команды «barfoo», первый аргумент предыдущей команды «foo», третий аргумент предыдущей команды «foobar» и все аргументы предыдущей команды «foo bar foobar barfoo».

2. Переменная !$ представляет последний аргумент предыдущей команды, !^ — первый аргумент предыдущей команды, !:3 — третий аргумент предыдущей команды, а !* — все аргументы предыдущей команды. Они могут быть полезны для повторного использования аргументов в новой команде, без необходимости повторного набора.

3. В команде «echo /usr/bin/foobar» !$:h выводит путь к каталогу последнего аргумента предыдущей команды «/usr/bin», а !$:t выводит только имя последнего аргумента «foobar». Это может быть полезно, когда нужно работать с путями к файлам и каталогам. Альтернативой может быть использование команды basename или dirname для получения имени файла или пути к каталогу соответственно.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *