Введение в параметры сценария оболочки

Параметры Shell Spscript - это объекты, которые используются для хранения переменных в Shell. Среди этих параметров именованные пространства находятся в памяти, и они позволяют нам получить доступ к этим сохраненным переменным. Как правило, есть два типа параметров. Они называются переменными и специальными параметрами. Параметр может быть аргументом или переменная может быть вызвана как параметр, даже если он не используется в качестве аргумента команды. Специальные параметры предварительно устанавливаются оболочкой, и эти параметры доступны только для чтения. Переменные управляются оболочкой или пользователями.

Зачем нам нужны параметры сценария оболочки?

Чтобы добавить дополнительные функции к команде при работе с сценарием оболочки, можно добиться с помощью параметров, т. Е. С помощью параметров командной строки вместе с аргументами. Параметры используются для помощи в выборе параметров из командной строки. Например, мы можем использовать параметры, чтобы иметь интерактивную командную строку для отображения определенного имени файла и можем выполнять такие операции, как его переопределение или просто проверить, существует файл или нет. Также мы можем прочитать содержимое сценария оболочки с помощью позиционных параметров.

Все параметры сценария оболочки с примерами

Ниже приведены параметры, используемые в сценарии оболочки.

  • Переменные: переменные, которые являются типом параметра, обычно управляются пользователями или системой. Мы можем взять пример $ var, который является переменным параметром. Система устанавливает $ var, но этот параметр переменной может быть записан пользователем. Так что это не только для чтения, как специальные параметры.
  • Специальные параметры: специальные параметры доступны только для чтения и поддерживаются оболочкой. Специальные параметры имеют предопределенное значение. Ниже приведены различные специальные параметры:
параметры Описание
$ #Параметр it представляет общее количество аргументов, переданных скрипту.
$ 0Этот параметр представляет имя скрипта.
$ пЭтот параметр представляет аргументы, соответствующие сценарию, когда сценарий вызывается, например, $ 1 $ 2… и т. Д. $ 1, $ 2… и т. Д. Называются позиционными параметрами.
$ *Этот параметр описывает позиционные параметры, которые должны различаться пробелом. Например, если в сценарий передано два аргумента, этот параметр будет описывать их как $ 1 $ 2.
$$Этот параметр представляет идентификатор процесса оболочки, в которой происходит выполнение.
$!Этот параметр представляет номер процесса фона, который был выполнен последним.
Этот параметр аналогичен параметру $ *.
$?Этот параметр представляет состояние выхода последней команды, которая была выполнена. Здесь 0 представляет успех, а 1 - неудачу.
$ _Этот параметр представляет команду, которая выполняется ранее.
$ -Этот параметр будет печатать флаги текущих параметров, где команда set может использоваться для изменения флагов параметров.

Примеры нескольких специальных параметров, как показано ниже:

$ cat program.sh
echo "The File Name is: $0"
echo "The First argument is: $1"
echo "The Second argument is: $2"

$ sh program.sh ab cd
The File Name: program.sh
The First argument is: ab
The Second argument is: cd

Преимущество параметров сценария оболочки

Одним из основных преимуществ использования параметров является то, что при передаче аргументов функции или сценарию код можно использовать снова и снова. Здесь нам не нужно открывать скрипт, и аргументы можно передать, просто написав их после имени скрипта с пробелом, разделяющим аргументы, и параметры можно использовать по количеству позиций на $. Также с использованием параметров аргументы командной строки могут быть использованы путем смещения позиции аргументов. Преимущество передачи аргументов повышает безопасность, поскольку нет необходимости в синтаксическом анализе переменных среды. Кроме того, это добавляет гибкости, где можно использовать много интерпретаторов оболочки.

Правила и положения для параметров сценария оболочки

  • Специальные параметры используются для доставки информации в программы путем указания аргументов в командной строке. $ n можно описать одной или несколькими цифрами, такими как $ 1, $ 2, $ 3…., где $ 1, $ 2, $ 3 и т. д. являются аргументами команды. Позиционные параметры обычно передаются вместе с командой, когда она вызывается. Но параметр должен быть заключен в (), где параметр состоит из более чем 1 цифры.
  • Чтение переменной называется расширением параметра. Это может быть описано как ниже:

$ var=apple
$ echo “The variable is $var”

  • Значения по умолчанию могут быть предоставлены для переменных с помощью скобок или тестовых команд. Если параметр, который не объявлен, имеет нулевое значение, то нам нужно использовать значение по умолчанию. Кроме того, параметры проверяются, чтобы увидеть, представляют ли они конкретные слова или каталоги или имена файлов и т. Д.
  • Двойные кавычки используются для обработки большинства специальных символов как букв.

$ var=apple
$ echo “var$var”
$ echo $var“abcd”

Команда выше покажет результат ниже

$ varapple
$ appleabcd

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

$ echo 'var$var'
$ var$var

  • Для выполнения арифметических операций нам нужно использовать $ (()), как показано ниже.

$ a=5
$echo 5+9 $a+9
$echo $((5+9))
$echo $(($a+9))

Результат $ echo 5 + 9 $ a + 9 равен 5 + 9 5 + 9. Но результат $ echo $ ((5 + 9)) и $ echo $ (($ a + 9)) равен 14.

Вывод

Параметры сценария оболочки помогают выполнять эффективные и гибкие сценарии со многими дополнительными функциями. Такими функциями являются расширение параметров; расширенные тесты, а также двойные квадратные скобки, которые можно использовать для сопоставления с образцом. Кроме того, манипулирование параметрами и арифметические операции могут быть выполнены очень легко.

Рекомендуемая статья

Это руководство по параметрам сценария оболочки. Здесь мы обсуждаем параметры сценария оболочки с примерами, преимуществами и правилами. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Что такое сценарии оболочки?
  2. Команды сценариев оболочки
  3. Shell Scripting Интервью Вопросы
  4. Типы сценариев оболочки для новичков в Linux
  5. Как работает цикл в сценариях оболочки?
  6. Полное руководство по командам пакетного сценария