русс | укр

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

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

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

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


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

ЗАДАНИЯ


Дата добавления: 2015-07-09; просмотров: 589; Нарушение авторских прав


· Напишите сценарий, выводящий имя команды, количество аргументов и PID.

· Проверьте работу сценария, используя явный вызов оболочки bash.

· Исследуйте работу опции -v bash.

· Измените сценарий так, чтобы он выводил все аргументы командной строки.

· Поместите в сценарий команду shift. Как он работает?

· Командой set установите в сценарии новые значения позиционных параметров.

 

Команда test

Команда test позволяет проверить заданные условия. Виды проверок, вы- полняемых командой test:

r проверка файлов на предмет выполнения заданных условий;

r сравнение файлов;

r проверка установки опций оболочки;

r сравнение строк;

r сравнение целых чисел.

Если тест выполнен успешно, команда test передает нулевой код возврата. Так, используя команду test -e, можно проверить существование файла (пример 10.20).

 

Пример 10.20. Проверка существования файла

 

$ test -e /etc/passwd

$ echo $? 0

$ test -e not_existent_file

$ echo $? 1


 

В первом случае команда test вернула нулевой код возврата, посколь- ку файл /etc/passwd существует. Во втором случае команда вернула код ошибки.

Команда test в сценариях обычно вызывается в другой форме, совершенно эквивалентной показанной ранее. В этой форме вместо строки test указыва- ют квадратные скобки и условие в них: [ условие ]. Задача из предыдущего примера может быть решена иным способом (пример 10.21).

 

Пример 10.21. Другая форма команды test

 

$ [ -e /etc/passwd ]

$ echo $? 0

 

Команда [ -e /etc/passwd ] эквивалентна команде test -e /etc/passwd.

Наиболее часто используемые опции команды test, связанные с проверкой файлов:

r -e — файл существует;

r -f — файл является обычным файлом (plain file);

r -d — файл является каталогом;



r -h или -L — файл является символической ссылкой;

r -r — файл доступен для чтения;

r -w — файл доступен для записи;

r -x — файл доступен для исполнения;

r -s — файл не пуст;

r -N — файл был модифицирован.

Формат вызова test, который используется при сравнении файлов:

r [ file1 -nt file2 ] — возвращает истину, если первый файл имеет бо- лее позднюю дату модификации;

r [ file1 -ot file2 ] — возвращает истину, если первый файл имеет бо- лее раннюю дату модификации;

r [ file1 -ef file2 ] — проверка жесткой связи (hard link).

Опция -o позволяет проверять установку опций оболочки (пример 10.22).


 

Пример 10.22. Проверка установленных опций оболочки

 

$ set -o noclobber

$ [ -o noclobber ]

$ echo $? 0

$ set +o noclobber

$ [ -o noclobber ]

$ echo $? 1

 

Для сравнения строк применяется следующий формат вызова команды test:

r [ str1 = str2 ] — проверка на совпадение строк;

r [ str1 != str2 ] — проверка на несовпадение строк;

r [ str1 < str2 ] — истина, если при сортировке строка str1 окажется раньше, чем str2 (по аналогии сравнение >);

r [ -z str ] — истина, если длина строки нулевая;

r [ -n str ] — истина, если длина строки ненулевая.

Сравнение целых чисел (пример 10.23) производится с помощью следующих опций команды test:

r -eq — равенство;

r -ne — неравенство;

r -lt — меньше;

r -le — меньше или равно;

r -gt — больше;

r -ge — больше или равно.

 

Пример 10.23. Сравнение чисел

 

$ [ 1 -lt 2 ]

$ echo $? 0

$ [ 1 -eq 2 ]

$ echo $? 1


 



<== предыдущая лекция | следующая лекция ==>
Позиционные параметры | Условное исполнение команд


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


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

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

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


 


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

 
 

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

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