Читаем Linux-сервер своими руками полностью

Пример простейшей переменной мы уже рассмотрели выше. Переменные в bash не нуждаются в предварительном описании, как в других языках, например, в том же Pascal. Все переменные в bash — текстовые. Имя переменной должно начинаться с буквы и может состоять из латинских букв, цифр, знака подчеркивания. Нельзя определять функцию и переменную с одинаковыми именами. Чтобы воспользоваться значением переменной, нужно использовать символ доллара перед именем переменной:

VAR="my var"

echo $VAR

Как я уже говорил, все переменные текстовые. Например, когда вы присваиваете переменной значение VAR=13, то это будет не числовое значение, а строка из двух символов. Если присваиваемое значение имеет пробелы, его нужно взять в кавычки:

VAR="value 1"

Присвоить значение переменной можно с помощью встроенной команды read:

echo –n "Enter value: "

read x

echo $x

Параметр –n команды echo не выводит символ новой строки в конце сообщения «Enter value:», то есть не переводит строку. Команда read читает значение, введенное пользователем с клавиатуры, и записывает его в переменную х. Последняя команда выводит только что введенное значение. При использовании команды read можно указывать несколько переменных:

read a b с

Пользователь должен ввести значения переменных, разделяя их пробелами. Для окончания ввода нужно нажать «Enter». Если введено меньше значений, чем нужно, оставшимся переменным будет присвоена пустая строка. А если больше, то лишние значения будут проигнорированы.

Интерпретатор bash использует следующие метасимволы, имеющие для него особое значение:

* ? ; & ( )  | < > <возврат_каретки> <табуляция> <пробел>

Для того, чтобы использовать эти символы как они есть, нужно их цитировать с помощью символа \. Например, символ перевода строки можно цитировать как \n, символ табуляции как \t, а символ вопроса как \?

Особое значение при присваивании переменным значений имеют кавычки. Все символы, заключенные в одинарные кавычки ' ' представляют самих себя. Между двойными кавычками " " выполняются команды и подстановки значений. Символы "\", ",", " ' ", "$" могут цитироваться с помощью обратной наклонной черты: \\, \$, \'

Для обозначения параметров командной строки используются специальные переменные, указанные в табл. 19.36.

Специальные переменные Таблица 19.36

Название переменнойЗначение
$0 Имя выполняемой команды. Для сценария — путь, указанный при его вызове. Если вы знакомы с языком программирования Pascal, эта переменная должна вам напоминать вызов функции ParamStr(0)
$n (где n – номер параметра, $1, $2, …) Обращение к параметру с номеров n. Для Pascal — это вызов функции ParamStr(n)
$# Число параметров, которые были указаны при вызове сценария. Аналогична вызову функции ParamCount в Pascal
$* Все параметры, заключенные в кавычки: "$1 $2 …"
$@ Все параметры, каждый из которых заключен в кавычки "$1" "$2" …
$? Код завершения последней команды
$$ Номер текущего процесса (PID)
$!Номер(PID) последнего асинхронного процесса (команды, выполненной в фоновом режиме)

Пример.

echo "Все параметры: "

echo $*

Интерпретатор bash поддерживает одномерные массивы с неограниченным числом элементов. В других оболочках существуют определенные ограничения на массивы, например, в ksh максимальное число элементов массива ограничено 1024-мя элементами.

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

Имя_массива[индекс]=значение

Например:

А[1]=23

А[3]=54

А[0]=77

Нумерация элементов начинается с ноля. Тип элементов массива, как и тип переменных, текстовый. Присвоить значение элементам массива можно также с помощью инструкции set. Например, выражение:

set –A array 3 56 77 12

аналогично выражениям:

array[0]=3

array[1]=56

array[2]=77

array[3]=12

Вышеприведенные способы инициализации массивов могут применяться как в bash, так и в ksh, а также и в других оболочках. Но, тем не менее, существует еще один способ, который работает только в bash:

array = ([0]=3 [3]=12 [2]=77 [1]=5б)

Обратиться к значению элемента можно следующим образом:

${имя_массива[индекс]}

Перейти на страницу:

Все книги серии Секреты мастерства

Похожие книги

Веб-аналитика: анализ информации о посетителях веб-сайтов
Веб-аналитика: анализ информации о посетителях веб-сайтов

Компании в веб-пространстве тратят колоссальные средства на веб-аналитику и оптимизацию своих веб-сайтов, которые, в свою очередь, приносят миллиарды долларов дохода. Если вы аналитик или работаете с веб-данными, то эта книга ознакомит вас с новейшими точками зрения на веб-аналитику и то, как с ее помощью сделать вашу компанию весьма успешной в веб. Вы изучите инструментальные средства и показатели, которые можно использовать, но что важнее всего, эта книга ознакомит вас с новыми многочисленными точками зрения на веб-аналитику. Книга содержит много советов, приемов, идей и рекомендаций, которые вы можете взять на вооружение. Изучение веб-аналитики по этой уникальной книге позволит познакомиться с проблемами и возможностями ее современной концепции. Написанная практиком, книга охватывает определения и теории, проливающие свет на сложившееся мнение об этой области, а также предоставляет поэтапное руководство по реализации успешной стратегии веб-аналитики.Эксперт в данной области Авинаш Кошик в присущем ему блестящем стиле разоблачает укоренившиеся мифы и ведет по пути к получению действенного понимания аналитики. Узнайте, как отойти от анализа посещаемости сайта, почему основное внимание следует уделять качественным данным, каковы методы обретения лучшего понимания, которое поможет выработать мировоззрение, ориентированное на мнение клиента, без необходимости жертвовать интересами компании.- Изучите все преимущества и недостатки методов сбора данных.- Выясните, как перестать подсчитывать количество просмотренных страниц, получить лучшее представление о своих клиентах.- Научитесь определять ценность показателей при помощи тройной проверки "Ну и что".- Оптимизируйте организационную структуру и выберите правильный инструмент аналитики.- Изучите и примените передовые аналитические концепции, включая анализ SEM/PPC, сегментацию, показатели переходов и др.- Используйте решения с быстрым началом для блогов и электронной торговли, а также веб-сайтов мелкого бизнеса.- Изучите ключевые компоненты платформы экспериментирования и проверки.- Используйте анализ конкурентной разведки для обретения понимания и принятия мер.Здесь также находятся:- Десять шагов по улучшению веб-аналитики.- Семь шагов по созданию управляемой данными культуры в организации.- Шесть способов замера успеха блога.- Три секрета создания эффективной веб-аналитики.- Десять признаков великого веб-аналитика.

Авинаш Кошик

ОС и Сети, интернет