Позиционные параметры

Позиционные параметры являются переменными в shell программе. Их значение устанавливается из аргументов, указанных в командной строке, которая вызывает программу. Позиционные параметры нумеруются, и на них идет ссылка символами $: $1, $2, $3 и т.д. Shell программа может использовать до 9 позиционных параметров. Если shell программа вызывается с помощью командной строки наподобие:

shell.prog pp1 pp2 pp3 pp4 pp5 pp6 pp7 pp8 pp9 <ENTER>

то позиционному параметру $1 в программе присваивается значение pp1, $2 - значение pp2 и т.д. во время вызова программы. Чтобы практически рассмотреть это замещение позиционных параметров сделайте следующее. Команда who перечисляет всех пользователей, в данный момент зарегистрированных в системе. Можем создать простую программу whoson, которая будет сообщать, работает ли в настоящий момент конкретный пользователь. Введем в файл whoson командную строку: who | grep $1 < ENTER >

Команда who перечисляет всех текущих пользователей системы, а команда grep осуществляет поиск строки, содержащей значение, соответствующее позиционному параметру $1. Теперь подставим конкретное имя в качестве аргумента в файле whoson, например, user1.

Если указанный пользователь user1 не зарегистрирован в данный момент в системе, grep завершится неудачно и whoson не будет ничего выводить на экран.

Специальные параметры

Наиболее важный из них: $?

Большинство команд shell возвращает коды, которые указывают, успешно ли завершилась команда. Если возвращаемое значение 0 (ноль), то команда выполнилась успешно. Коды возврата не печатаются автоматически, но их можно получить как значение этого параметра.

Именованные переменные

Переменная – это область данных, обладающая именем и содержимым. Имя может состоять только из букв и цифр и не может начинаться с цифры. Содержимое – любой текст. Значение именованной переменной вы присваиваете сами следующим образом:

name_variable=value<ENTER>

Обратите внимание, что ни слева, ни справа от знака равенства нет пробелов.

В следующем примере var1 - это имя переменной, а myname - значение строки символов, которое присваивается переменной:

Пример

var1=myname<ENTER>

Знак $ используется перед именем переменной в shell программе для ссылки на значение этой переменной. Если взять предыдущий пример, то ссылка $var1 говорит shell, что нужно заменить любую встретившуюся строку символов $var1 на значение myname.

Переменные могут хранить целые команды:

ls2=’ls –l’

$ ls2

Значение этих переменных вы можете определить двумя способами. Первый, вы можете ввести: echo $variable_name

Система распечатает значение переменной variable_name. Второй способ: вы можете воспользоваться командой env для распечатки значений всех определенных переменных в shell. Для этого введите команду env и система выдаст список всех имен переменных и их значения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: