русс | укр

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

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

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

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


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

Команды поддержки и их особенности


Дата добавления: 2013-12-23; просмотров: 666; Нарушение авторских прав


Флаги Shell

В Shell имеется несколько флагов, доступных для процедур.

Это:

-e Этот флаг указывает Shell на необходимость немедленного выхода, если какая-либо выполняемая команда кончается с ненулевым кодом завершения. Этот флаг полезен для процедур, составленных из простых командных строк. Его нельзя использовать в сочетании с другими условными конструкциями.

 

-u Этот флаг вызывает отмену значений переменных, оказавшихся ошибочными при подстановке. Этот флаг можно использовать для глобальной проверки переменных вместо условной подстановки для проверки каждой переменной.

 

-t Этот флаг указывает Shell'у на необходимость выхода после считывания и выполнения команд, оставшихся на текущей командной строке. Этот флаг обычно используется программами на Си, которые вызывают Shell для выполнения отдельной команды.

 

-n Это флаг отмены выполнения. Его используют, когда хотят проверить процедуру на наличие синтаксических ошибок, но при этом не выполнять саму процедуру. Это делается указанием "set -nv" в начале файла.

 

-k Этот флаг указывает Shell'у, что все аргументы в виде переменная=значение должны рассматриваться как ключевые параметры. Когда этот флаг не установлен, ключевыми параметрами считаются только аргументы, стоящие перед самой командой.

 

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

 

Условная проверка: test

Команда test проверяет выражение, указанное в качестве аргумента, и если выражение истинно, то test заканчивается с нулевым кодом. В противном случае возвращается ненулевой код завершения. test также дает ненулевой код завершения в случае, если не указаны аргументы. Часто бывает удобно применять test в качестве первой команды в списке команд после if или while. Переменные Shell, используемые в проверяемых выражениях, должны быть заключены в двойные кавычки, если имеется вероятность, что они пустые или не определены.



В качестве альтернативного обозначения команды test можно применять квадратные скобки, например:

[ выражение ]

имеет такое же действие как:

test выражение

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

Ниже приведен неполный список опций, которые могут использоваться для формирования условных конструкций.

 

-r file Истинно, если указанный файл существует и доступен пользователю для чтения.

 

-w file Истинно, если указанный файл существует и доступен пользователю для записи.

 

-x file Истинно, если указанный файл существует и может быть выполнен пользователем.

 

-s file Истинно, если указанный файл существует и имеет ненулевую длину.

 

-d file Истинно, если указанный файл является каталогом.

 

-f file Истинно, если указанный файл является обычным файлом.

 

-z sl Истинно, если длина строки sl равна нулю.

 

-n sl Истинно, если длина строки sl не равна нулю.

 

-t fildes Истинно, если открытый файл с дескриптором fildes соответствует терминалу. Если fildes не указан, по умолчанию считается fildes=1.

 

s1 = s2 Истинно, если строки s1 и s2 идентичны.

 

s1 != s2 Истинно, если строки s1 и s2 различны.

 

s1 Истинно, если строка s1 ненулевая.

 

n1 -eq n2 Истинно, если целые числа n1 и n2 алгебраически равны.

 

Другие алгебраические сравнения обозначаются:

-ne (не равно), -gt (больше чем), -ge (больше или равно), -lt (меньше чем), -le (меньше или равно).

 

Все эти опции можно объединять со следующими операторами:

 

! оператор унарного отрицания

-а бинарный логический оператор AND (и)

-o бинарный логический оператор OR (или), имеет меньший приоритет, чем AND (выраж) Скобки для группирования. При отсутствии скобок проверка выражения идет слева направо.

 

Помните, что все опции, операторы, имена файлов и т.д. являются отдельными аргументами для test.

 



<== предыдущая лекция | следующая лекция ==>
Создание и организация процедур Shell | Внутристрочный ввод документов


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


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

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

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


 


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

 
 

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

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