Поиск по сайту:
Нехорошо многовластье: один да будет властитель (Аристотель).

Что означает $_ в Bash

25.08.2021
Bash Heredoc

Bash – очень универсальный язык сценариев, который чаще всего используется в системах на базе Linux. С помощью этого языка вы можете легко автоматизировать повседневные рутинные задачи, а также упростить повторяющиеся задачи. Этот язык представляет собой смесь различных сущностей, таких как специальные переменные, функции, встроенные команды и т. Д. Каждая специальная переменная этого языка служит определенной цели. Специальная переменная, которую мы будем обсуждать в этой статье, – это «$_», которая предназначена для вывода последнего аргумента предыдущей команды. Немного сложно понять функциональность этой специальной переменной, не глядя на соответствующие примеры. Поэтому мы разработали это руководство так, чтобы оно сначала объяснило вам вариант использования этой команды, а затем соответствующий пример. Давайте вместе выясним, что эта статья для нас.

 

Примеры использования $_ в Bash в Ubuntu 20.04:

Существуют различные варианты использования специальной переменной «$_» в Bash в Ubuntu 20.04; однако ниже мы обсудим три наиболее распространенных варианта использования этой специальной переменной.

 

Пример использования №1: Использование «$_» в терминале Ubuntu 20.04:

Эту специальную переменную можно использовать в терминале Ubuntu 20.04. Цель его использования в терминале – распечатать последний аргумент предыдущей команды, выполненной в терминале. Рассмотрим сценарий, в котором вы выполнили команду некоторое время назад и после этого ничего не выполнили в своем терминале, но вы все равно хотите знать, что вы делали в прошлый раз. В этой ситуации вы можете использовать специальную переменную «$_» в терминале, чтобы узнать о последнем аргументе предыдущей команды, которую вы выполнили в своем терминале. Чтобы лучше понять все это, вы можете взглянуть на следующий пример:

Читать  Как проверить, доступен ли пакет в Yum

 

Пример:

В этом примере мы намерены вывести последний аргумент ранее выполненной команды в терминале Ubuntu 20.04. Для этого мы выполнили в нашем терминале команду, показанную ниже:

$ ls *.sh;echo $_

Упомянутая выше команда в основном представляет собой интеграцию двух разных команд. Первая команда, то есть ls * .sh, выводит список всех файлов Bash, имеющихся в текущем каталоге. С другой стороны, вторая команда, т.е. echo $_, отобразит последний аргумент команды ls, то есть все, что будет напечатано последним в результате выполнения команды «ls», будет напечатано снова, когда «echo $_» будет выполнена команда.

В этих выходных данных вы можете ясно видеть, что последним аргументом, напечатанным при выполнении команды ls, является файл Bash с именем «Suppress.sh». Более того, вы также можете видеть, что то же имя файла печатается снова из-за использования переменной «$_», поскольку этот файл был, по сути, последним аргументом ранее выполненной команды в терминале, то есть команды «ls».

 

Вариант использования № 2: Использование «$_» для отображения пути к сценарию Bash:

Специальная переменная «$_» может даже использоваться для отображения пути к сценарию Bash в Ubuntu 20.04. Это можно сделать, если вы создадите простой сценарий Bash и используете специальную переменную «$_» перед написанием любой другой команды в своем сценарии Bash. Поступив так, вы сможете очень легко получить путь к вашему сценарию Bash. Чтобы продемонстрировать функциональность этой специальной переменной в Bash, мы разработали пример, показанный ниже. Просто просмотрите этот пример хоть раз, и вы сразу поймете, как можно использовать специальную переменную «$_» для отображения пути к сценарию Bash.

Читать  Использование Netcat для сканирования портов

 

Пример:

В этом примере мы хотим использовать специальную переменную «$_» для отображения пути к сценарию Bash в терминале Ubuntu 20.04. Для этого мы создали следующий образец сценария Bash и назвали его «Sample.sh»:

#!/bin/bash

echo "$_"

 

В этом сценарии Bash после написания Shebang мы просто использовали команду «echo $_», чтобы при выполнении этого сценария Bash он печатал значение специальной переменной «$_» на терминале, т. Е. Путь нашего файла сценария Bash. Вы также можете расширить этот сценарий, добавив дополнительные команды по вашему выбору после команды «echo $_».

Чтобы выполнить этот сценарий Bash, вам нужно будет запустить в своем терминале команду, показанную ниже:

$ bash Sample.sh

Когда вы выполняете этот сценарий Bash, его путь будет напечатан на вашем терминале в результате использования специальной переменной «$_» в вашем сценарии Bash.

Путь к файлу Bash, который мы создали в нашем случае, был /bin/bash, как вы можете видеть из вывода, показанного на изображении выше.

 

Вариант использования № 3: использование «$_» для отображения последнего аргумента предыдущей команды в сценарии Bash:

Этот вариант использования в чем-то похож на первый вариант использования в нашей статье. Однако в первом варианте использования мы просто использовали интеграцию двух команд в терминале Ubuntu 20.04, тогда как в этом случае мы создадим сценарий Bash, который будет служить более или менее той же цели, то есть в этом сценарии Bash, мы будем использовать специальную переменную «$_» после некоторых команд таким образом, чтобы она выводила последний аргумент предыдущей команды на терминал. Чтобы лучше понять эту концепцию, вам нужно просмотреть пример, который мы создали ниже:

Читать  Простая потоковая передача игры Linux с OBS

 

Пример:

В этом примере мы создали образец сценария Bash с именем «Sample.sh» и, указав Shebang, объявили две переменные «a» и «b». Мы также присвоили этим двум переменным значения «10» и «12» соответственно. После этого мы использовали команду echo, чтобы распечатать значения этих двух переменных. Наконец, мы использовали другую команду «echo» для вывода значения специальной переменной «$_», которая в этом случае будет последним аргументом ранее выполненной команды «echo», то есть значением «b».

#!/bin/bash

a=10

b=12

echo "$a" "$b";

echo "$_"

 

После создания этого сценария Bash вы можете запустить его с помощью следующей команды:

$ bash Sample.sh

При запуске этого примера сценария Bash вы увидите значение переменных «a» и «b» на терминале. В дополнение к этому, значение переменной «b» также будет напечатано снова из-за специальной переменной «$_».

 

Заключение:

Эта статья пролило свет на три наиболее распространенных варианта использования специальной переменной «$_» в Bash в Ubuntu 20.04. В этих случаях вы можете использовать специальную переменную «$_» в системном терминале или даже создавать сценарии Bash для использования этой специальной переменной. Более того, вы можете даже увеличить сложность сценариев Bash, которыми с вами поделились в этой статье. Целью этой статьи было дать вам обзор использования специальной переменной $_ Bash в системе Ubuntu 20.04.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Принятие решений - это базовый фактор в программировании и человеческой…

Спасибо!

Теперь редакторы в курсе.