Трюк в командной строке - символы !$. Linux статьи
Написать статью
Войдите, чтобы писать статьи

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

1

Трюк в командной строке 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

Лайков: +3
войдите, чтобы ставить лайки
1
  • Опубликовано: 27.03.2019

Комментарии

combucho
07.11.2024
10:31
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
В примере 3 опечатка, видимо.

После "В результате будет выполнена команда:" должно быть
ls -xm

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

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила