русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Www123yyy


Дата добавления: 2014-11-28; просмотров: 709; Нарушение авторских прав


Аргументы командной строки. В сценарии, как и в командах Linux, можно использовать аргументы. Аргумент в сценарии обозначается оператором $ с указанием номера позиции в командной строке. Нумерация параметров начинается с единицы, а заканчивается девятью. Первый параметр задается переменной $1, второй — $2 и т. д. Аргумент $0 резерви­руется для имени shell-сценария, в качестве которого выступает первое слово, находя­щееся в командной строке. По умолчанию имеется возможность устанавливать 9 переменных с $1 до $9 . Если вво­дится несколько аргументов, можно отдельно обращаться к каждому из них по его номеру. В следующем примере в командной строке вводятся три аргумента. Предварительно создадим скрипт arguments с аргументами, а потом его выполним.

Обращаем ваше внимание, если вам требуется использовать аргумент(ы) из нескольких слов, вы должны в командной строке взять его (их) в двойные кавычки. Иногда требуется задать в сценарии точное количество аргументов, это можно выполнить с помощью аргумента $# . Параметр $* позволяет указать все аргументы в командной строке.

Переменная export. Иногда для разных файлов-сценария требуется воспользоваться определенной переменной, которая уже была определена. Переменные, которые вы определяете в интерпретаторе shell, являются локальными для него. В некотором смысле такая пе­ременная принадлежит своему интерпретатору. Непосредственно определить переменную для другого интерпретатора нельзя, однако можно экспортировать определение переменной из одного интерпретатора в другой с помощью команды export. Команда export содержит инструкцию для системы, в соответствии с которой для каждого вновь образованного shell будет определяться копия этой переменной. Каждый новый интерпретатор shell будет иметь собственную копию экспортированной переменной. В следующем примере определим переменную «rrr» и экспортируем ее для других интерпретаторов с помощью команды export.



Арифметические операции – команда let. Команда let — это команда интерпретатора BASH shell, обеспечивающая выпол­нение операций над арифметическими величинами. С помощью этой команды можно сравнивать числовые значения или выполнять над ними арифметические операции, такие как сложение или умножение. Формат команды: let значение1 оператор значение2. Приведем пример.

$ let 2*5

В арифметические выражения, использующие оператор let, можно включать и опе­раторы присваивания. В следующем примере результат умножения двух чисел присваи­вается переменной total.

$ let “total=2*5”

$ echo $total

$

Операторы сравнения часто используются для сравнения числовых значений в управ­ляющих конструкциях, таких как циклы и условные переходы. В следующем примере команды сценария file1 четырежды выводят на экран слово "Привет!". В данном случае для управления выходом из цикла используется оператор let "ttt <= 4", а для увеличения переменной цикла again на единицу — оператор let "ttt = ttt + 1". Обратите внимание на то, что при изменении переменной again ее вычислять не требуется.

File1

ttt=l

while let "ttt<= 4"

do

echo $ttt Привет!

let "ttt = ttt + 1"

Done

Выполнение скрипта:

$ file1

Привет!

Привет!

Привет!

 

Кроме того, вы также можете использовать и другие арифметические операторы. В таблице 1 приведены арифметические операторы и операторы сравнения Bash Shell.

 

 

Таблица 1 - Операторы BASH shell

Арифметические операторы Функции
* Умножение
/ Деление
+ Сложение
( Вычитание
% Деление с остатком
Операторы сравнения Функции
> Больше чем
< Меньше чем
>= Больше либо равно
<= Меньше либо равно
= Равенство в выражениях
= = Равенство в команде let
!= Не равно
& Логическое И
| Логическое ИЛИ
! Логическое НЕ

 

Управляющие конструкции. Управляющие конструкции предназначены для управления ходом выполнения команд shell-сценария. Эти конструкции позволяют организовать повторное выполнение определенной последовательности команд или выбирать для выполнения команды, необходимые в конкретной ситуации. Управляющая конструкция состоит из двух основ­ных компонентов: операции проверки и команд. В результате выполнения сравнения (проверки условия) возвращается значение «истина» или «ложь», а затем на основании полученного результата выполняются определенные команды. Существует два вида управляющих конструкций: циклические (циклы) и условные (условия). Циклическая конструкция используется для повторного выполнения команд, тогда как условная — для выполнения последовательности команд., которая удовлетво­ряет определенным условиям. В интерпретаторе BASH shell можно использовать три циклические конструкции, while, for и for-in, и две условные — if и case.

Управляющие конструкции while и if — это конструкции общего назначения, которые обычно используются при решении таких задач, как итерационные вычисления и проверка различных условий. Управляющие конструкции case и for ориентированы на более узкий круг задач. Конструкция case является многовариантным оператором и представляет собой частный случай условного оператора if. Эта конструкция часто используется при создании меню. Конструкция for представляет собой цикл, однократно обрабатывающий всю информацию для каждого значения, включенного в список, до тех пор, пока не встретится окончание списка.

Кроме сравнения значений или переменных, управляющие конструкции if и while можно применять для проверки того, успешно или неудачно была выполнена системная команда Linux. Напомним, что в Linux каждая выполняемая команда возвращает код завершения. Если выполнение команды было успешным, ее код завершения равен 0. Если по какой-либо причине команда не была выполнена успешно, кодом завершения будет некоторое положительное значение, указывающее тип ошибки. Управляющие кон­струкции if и while позволяют проверить, чему был равен код завершения: 0 или некоторому другому значению. Если код завершения равен нулю, значит, выполнение команды было успешным и управляющая конструкция if или while будет завершена.

Команда test. Сравнивать значения можно не только с помощью условных управляющих конструкций, но также с помощью команды test. При сравнении двух значений test возвращает 0 в том случае, если сравнение будет успешным. Команда test позволяет сравнивать целые числа, строки и даже выполнять логи­ческие операции. Совместно с командой test применяют опции, которые задают тип сравнения. Полный перечень опций приведен в таблице 2.

Таблица 2. Операции, выполняемые командой test интерпретатора BASH shell

Сравнение целых чисел Функция
-gt Больше чем
-it Меньше чем
-ge Больше чем либо равно
-le Меньше чем либо равно
-eq Равно
-ne Не равно
Сравнение строк Функция
-2 Проверка на наличие пустой строки
-n Проверка на наличие строкового значения
= Проверка строк на равенство
! = Прооверка строк на неравенство
str Проверка на наличие строки, состоящей из нулей
Логические операции Функция
-a Логическое И
Логическое ИЛИ
i Логическое НЕ
Проверка файлов Функция
-f Установка факта существования файла и его регулярности
-s Проверяется, не является ли файл пустым
-r Проверка возможности считывания из файла
-w Проверка возможности записи в файл, а также его изменения
-x Проверяется, является ли файл исполнимым
-d Проверяется, является ли имя файла именем каталога
-h Проверяется, является ли имя файла символической ссылкой
-c Проверяется, обозначает ли имя файла байт-ориентированное устройство
-b Проверяется, обозначает ли имя блок-ориентированное устройство

Команда test имеет следующий синтаксис:



<== предыдущая лекция | следующая лекция ==>
Read your_name | Test значение -опция значение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.047 сек.