💡 Символы !$ в командной строке
Символы !$ заменяются в командной строке на последний аргумент (или последнюю опцию) последней выполненной команды.
Например, вы выполнили какую-нибудь команду: somecommand —option1 —option2 arg1 arg2. Если в следующей команде вы будете использовать символы !$, то они автоматически заменятся на последний аргумент из предыдущей команды, то есть на arg2 в нашем примере.
Если быть более точным, то символы !$ заменяются не на аргумент, а на последнее слово в последней выполненной команде.
Под словом в данном случае понимается последовательность символов, которые командная оболочка рассматривает, как единое целое. Слова не могут содержать метасимволы, если само слово не заключено в кавычки. Метасимвол это один из следующих символов: |, &, ;, (, ), <, >, пробел или символ табуляции.
🟠Пример 1
Предположим, вы выполнили команду mkdir, чтобы создать директорию MyDocuments.
mkdir MyDocuments
Теперь вы хотите перейти в эту директорию. Для этого можно выполнить команду:
cd !$
Символы !$ будут автоматически заменены на последнее слово предыдущей команды. В предыдущей команде у нас был всего один аргумент — это название директории. Таким образом в результате будет выполнена команда:
cd MyDocuments
🟠Пример 2
find . -name "file1" 2>/dev/null
uptime>!$
В данном случае !$ будет заменено на /dev/null
В результате будет выполнена команда:
uptime>/dev/null