Трюк в командной строке - символы !$. Linux статьи

Трюк в командной строке — символы !$

0

Трюк в командной строке Linux - символы !$

В этой заметке мы познакомимся с одной интересной возможностью командной строки Linux — использование символов !$.

Зачем нужны символы !$ ?

Символы !$ заменяются в командной строке на последний аргумент (или последнюю опцию) последней выполненной команды.

То есть, например, вы выполнили какую-нибудь команду: somecommand --option1 --option2 arg1 arg2. Если в следующей команде вы будете использовать символы !$, то они автоматически заменятся на последний аргумент из предыдущей команды, то есть на arg2 в нашем примере.

Если быть более точным, то символы !$ заменяются не на аргумент, а на последнее слово в последней выполненной команде.

Под словом в данном случае понимается последовательность символов, которые командная оболочка рассматривает, как единое целое. Слова не могут содержать метасимволы, если само слово не заключено в кавычки. Метасимвол это один из следующих символов: |, &, ;, (, ), <, >, пробел или символ табуляции.

Проще всего понять, как это работает, на примерах.

Примеры

Пример 1

Предположим, вы выполнили команду mkdir, чтобы создать директорию MyDocuments.

mkdir MyDocuments

Теперь вы хотите перейти в эту директорию. Для этого можно выполнить команду:

cd !$

Символы !$ будут автоматически заменены на последнее слово предыдущей команды. В предыдущей команде у нас был всего один аргумент — это название директории. Таким образом в результате будет выполнена команда:

cd MyDocuments

mkdir

Пример 2

ls -la mydir/
cd !$

!$ будет заменено на mydir/

В результате будет выполнена команда:

cd mydir/

ls

Пример 3

ls -la -x
ls !$m

!$ будет заменено на -x. В данном случае последнее слово в команде это опция -x.

В результате будет выполнена команда:

ls -x mydir2/

Опция из последней команды

Пример 4

find . -name "file1" 2>/dev/null
uptime>!$

В данном случае !$ будет заменено на /dev/null

В результате будет выполнена команда:

uptime>/dev/null

find dev null

Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
0

Комментарии

Комментариев пока не было.

Написать комментарий

Ваше имя:
Текст комментария: