Как проверить наличие входного аргумента в сценарии оболочки Bash

Kak Proverit Nalicie Vhodnogo Argumenta V Scenarii Obolocki Bash



Сценарии оболочки Bash — это мощный инструмент для автоматизации повторяющихся задач и выполнения сложных операций в командной строке. Одной из фундаментальных концепций сценариев оболочки является прием входных аргументов от пользователя или других сценариев. При работе с входными аргументами важно проверять, существует ли входной аргумент или нет, чтобы избежать неожиданного поведения в сценарии. В этой статье будут обсуждаться различные способы проверки наличия входных аргументов в сценарии оболочки Bash.

Как проверить наличие входного аргумента в сценарии оболочки Bash

Есть три разных способа:

  1. С помощью команды «тест»
  2. Использование переменной «$#»
  3. Использование опции «-n»

Способ 1: Использование команды «тест»

Команда «test», также известная как команда «[», — это встроенная в Bash команда, которая проверяет различные условия. Одно из условий, которое мы можем проверить с помощью команды «тест», — существует ли переменная или нет. Вот пример кода для проверки существования входного аргумента с помощью команды «test»:







#!/бин/баш

если [ '1 доллар' ]

затем

эхо «Отсутствует входной аргумент».

Выход 1

быть

эхо «Входной аргумент существует».

Здесь параметр «-z» используется с командой «test», чтобы проверить, является ли входной аргумент пустой строкой или нет. Сценарий выведет сообщение об ошибке и завершится с кодом состояния 1, если входной аргумент является пустой строкой. В противном случае скрипт продолжит выполнение, ниже я предоставил входной аргумент для кода, поэтому он отображает сообщение о наличии ввода аргумента:





Способ 2: использование переменной «$#»

“$#” В переменной хранится количество входных аргументов, переданных сценарию. Если скрипт ожидает хотя бы один входной аргумент, мы можем проверить, “$#” переменная больше нуля. Вот пример кода, чтобы проверить, существует ли хотя бы один входной аргумент, используя “$#” переменная:





#!/бин/баш

если [ $# -экв 0 ]

затем

эхо «Отсутствует входной аргумент».

Выход 1

быть

эхо «Входной аргумент существует».

Здесь «-экв» оператор используется для проверки того, “$#” равна нулю или нет, и если переменная «$ #» равна нулю, сценарий отобразит сообщение об ошибке и завершит работу с кодом состояния 1. В противном случае сценарий продолжит выполнение, ниже я предоставил и ввел аргумент для кода, поэтому он отображает сообщение о существовании ввода аргумента:



Способ 3: использование опции «-n»

«-н» Опция используется для проверки того, не пуста ли переменная. Мы можем использовать эту опцию, чтобы проверить, существует ли входной аргумент или нет. Ниже я привел пример кода, который проверяет, существует ли входной аргумент, используя функцию «-н» вариант:

#!/бин/баш

если [ '1 доллар' ]

затем

эхо «Входной аргумент существует».

еще

эхо «Отсутствует входной аргумент».

Выход 1

быть

Здесь «-н» используется для проверки того, не является ли входной аргумент пустым, и если входной аргумент не пуст, скрипт отобразит сообщение об успешном выполнении. В противном случае скрипт отобразит сообщение об ошибке и завершится с кодом состояния 1, ниже я предоставил и входной аргумент для кода, поэтому он отображает сообщение о наличии ввода аргумента:

Заключение

В сценариях оболочки проверка наличия входных аргументов является важным шагом, чтобы убедиться, что сценарий работает должным образом. Мы можем использовать различные методы для проверки наличия входных аргументов, например, с помощью команды «test», переменной «$#» или опции «-n». Применяя эти методы, мы создаем более надежные сценарии оболочки, которые могут обрабатывать входные аргументы.