Поиск по сайту:
Справедливость — это истина в действии (Ж. Жубер).

Что такое $@ в сценарии Bash

26.08.2021
Что такое $@ в сценарии Bash?

Большинство из нас используют сценарии Bash для обслуживания и некоторых других задач. Однако мы не всегда знакомы с различными вариантами Bash. Всякий раз, когда пользователь является новичком в оболочке Bash и Linux, он стремится найти заранее написанный сценарий Bash. Это связано с тем, что некоторые пользователи находят уникальные символы Bash, такие как $@, $_ и $ 1, сбивающими с толку. Начиная с параметра $@ в Bash, он используется для расширения позиционных аргументов. Каждый параметр расширяется до чего-то вроде отдельного слова всякий раз, когда расширение происходит в двойных кавычках. Отдельные параметры следует заключать в кавычки и выделять пробелом, если используется $@. Помните, что $@должны быть заключены в кавычки для правильной работы. Тем не менее, он ведет себя аналогично аргументам как отдельным строкам.

Мы рассмотрим несколько примеров, чтобы подробнее раскрыть функциональность $@ в скриптах Bash при использовании системы Ubuntu 20.04:

 

Пример 01:

Для начала нам нужно войти в систему из дистрибутива Ubuntu 20.04 как пользователь sudo. После успешного входа в систему мы откроем командную строку, чтобы начать работу. Чтобы открыть его, используйте «Ctrl + Alt + T». В качестве альтернативы мы также можем использовать область действий, чтобы найти консольный терминал из строки поиска. После его правильного открытия мы начнем работать с $@ в Bash, создав новый файл Bash. Итак, мы использовали команду touch с именем файла «one.sh». Обратите внимание, что файл Bash имеет расширение «.sh». Нажмите «Enter» после написания следующей инструкции в оболочке, чтобы запустить ее. Вы найдете только что сгенерированный файл Bash в своем домашнем каталоге Ubuntu 20.04:

$ touch one.sh

Теперь файл Bash создан; мы должны открыть его в редакторе, чтобы добавить и отредактировать в нем сценарий Bash. Итак, мы будем открывать его с помощью редактора «GNU Nano» из оболочки терминала. Следовательно, мы использовали команду ключевого слова «nano» в оболочке вместе с именем файла как «one.sh», как показано на следующем изображении:

$ nano one.sh

Вам необходимо написать следующий трехстрочный скрипт в вашем Bash-файле «one.sh». Сначала мы добавили в файл расширение Bash. После этого мы использовали три оператора echo в этом скрипте, чтобы использовать три специальных символа и вывести их соответствующие результаты. Обратите внимание, что символ «$#» использовался для вывода общего числа строк ввода или параметров значений, которые будут добавлены пользователем в оболочку. Символ «$@» используется для отображения этих трех значений или параметров на терминале, а символ «$?» У персонажа есть особая задача — вернуть 0, если последняя команда прошла успешно. В Bash ярлык «Ctrl + S» часто используется для сохранения файла Bash, когда он открыт в редакторе Nano. Итак, сохраните файл one.sh и оставьте его, используя «Ctrl + X», чтобы вернуть его в терминал.

Читать  Как установить Elasticsearch на Ubuntu 20.04

Теперь вновь созданный сценарий Bash сохранен и защищен в нашей системе; пора сделать его исполняемым. Обратите внимание, что такой символ, как $@, принимает параметры значений в терминале во время выполнения файла. Итак, используйте запрос ключевого слова «bash» в своей оболочке Ubuntu с именем файла «one.sh». И присвоение значений параметров, как указано. Результатом вывода является трехстрочный вывод. Первая строка показывает общее количество добавленных параметров. Вторая строка отображает значения аргументов, переданных пользователем. Наконец, в третьей строке в качестве возвращаемого значения отображается 0, потому что команда второй строки выполнена успешно:

$ bash one.sh Arg1 Arg2 Arg3

Пример 02:

Чтобы лучше понять концепцию символа $@ и функциональности, нам понадобится еще один пример в нашей статье. Следовательно, мы будем открывать тот же файл «one.sh» с помощью редактора GNU nano. Для этого мы попробовали следующую инструкцию и нажали кнопку «Enter» на клавиатуре, чтобы продолжить:

$ nano one.sh

Поскольку файл открыт сейчас, мы будем добавлять в него новый и обновленный сценарий Bash. На этот раз мы использовали простой сценарий Bash для уточнения функции символа $@. Итак, вам нужно обновить свой сценарий Bash, используя тот, который показан на изображении ниже. Мы используем цикл for, чтобы принимать по одному элементу за раз в качестве аргументов, переданных в $@ пользователем на терминале. Каждый элемент отображается на терминале с помощью оператора echo.

В инструкции Bash мы передали 5 аргументов строкового типа вместе с именем файла «one.sh». После нажатия клавиши «Enter» терминал отобразился с каждым аргументом отдельно:

$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5

Пример 03:

Давайте подробнее рассмотрим другой пример $@, описанный выше. В этом примере мы будем использовать $@ и $ * для сравнения и различения работы обоих специальных символов. Таким образом, мы сможем правильно понять работу символа $@. Чтобы открыть уже созданный файл «one.sh», напишите и затем выполните следующую инструкцию в консоли Ubuntu 20.04.

$ nano one.sh

Мы обновили приведенный выше пример кода. Все, что мы сделали, это добавили тот же код для «$*» в цикл for.

Читать  Как создать перечисления. Использование объектов Enum в Python

Во время выполнения из-за использования символа $* отображается первая строка как все параметры. Все остальные строки являются выводом символа $@ :

$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5

Пример 04:

В нашем последнем примере мы будем объяснять функциональность символа $@ с помощью функций и циклов. Поэтому, чтобы обновить сценарий Bash, мы снова открыли файл «one.sh» с помощью команды редактора nano в оболочке следующим образом:

$ nano one.sh

На этот раз мы использовали метод foo () для вывода аргументов, переданных в соответствующие методы специальных символов, до тех пор, пока он не ничего получит. Метод «Dollar1» предназначен для использования специального символа $@, а «Dollar2» — для функционирования символа $*. Оба метода содержат вызов метода foo() со специальным символом $@ и $* отдельно для передачи аргументов. Методы Dollar1 и Dollar2 вызываются после операторов echo, в то время как оба содержат те же три аргумента, что и их параметрические значения.

Выполнение кода показывает выходные данные для методов Dollar1 и Dollar2 по отдельности. «Using $@» показывает вывод для $@, а «Using $*» показывает вывод для символа $* отдельно.

$ bash one.sh

Заключение:

В этой статье описано, как использовать $@ в сценарии Bash, объявить его и как это работает. Мы также описали разницу между $@ и другими символами, связанными с долларом, чтобы сделать ее более понятной. Мы надеемся, что вам понравилось это при внедрении.

Читать  Линус Торвальдс защищает решение об удалении российских разработчиков из ядра Linux

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

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


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

**ссылки nofollow

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

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


Рекомендуемое
Временная таблица MySQL - это уникальный тип таблицы, который позволяет…

Спасибо!

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