Пример 24-1. Проверка аргументов командной строки с помощью "И-списка"

Пример 24-1. Проверка аргументов командной строки с помощью "И-списка"

#!/bin/bash

# "И-список"

if [ ! -z "$1" ] && echo "Аргумент #1 = $1" && [ ! -z "$2" ] && echo "Аргумент #2 = $2"

then

echo "Сценарию передано не менее 2 аргументов."

# Все команды в цепочке возвращают true.

else

echo "Сценарию передано менее 2 аргументов."

# Одна из команд в списке вернула false.

fi

# Обратите внимание: "if [ ! -z $1 ]" тоже работает, но, казалось бы эквивалентный вариант

# if [ -n $1 ] -- нет. Однако, если добавить кавычки

# if [ -n "$1" ] то все работает. Будьте внимательны!

# Проверяемые переменные лучше всегда заключать в кавычки.

# То же самое, только без списка команд.

if [ ! -z "$1" ]

then

echo "Аргумент #1 = $1"

fi

if [ ! -z "$2" ]

then

echo "Аргумент #2 = $2"

echo "Сценарию передано не менее 2 аргументов."

else

echo "Сценарию передано менее 2 аргументов."

fi

# Получилось менее элегантно и длиннее, чем с использованием "И-списка".

exit 0

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Компилятор командной строки для C# (csc.exe)

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Компилятор командной строки для C# (csc.exe) Для компиляции исходного кода C# есть целый ряд возможностей. Не касаясь Visual Studio 2005 (и различных IDE сторонних производителей), здесь можно отметить компилятор командной строки для C#, csc.exe (где csc означает аббревиатуру для C-Sharp Compiler -


Использование аргументов командной строки в Visual Studio 2005

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Использование аргументов командной строки в Visual Studio 2005 Конечный пользователь указывает аргументы командной строки при запуске программы. В процессе разработки приложения вы можете указать флаги командной строки с целью тестирования программы. Чтобы сделать это в Visual


10.5. Параметры командной строки

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

10.5. Параметры командной строки Unix-традиции поощряют использование ключей командной строки для управления программами, так чтобы параметры можно было задавать из сценариев. Это особенно важно для программ, которые выполняют функции фильтров или каналов. Существует 3


10.5.1. Параметры командной строки от -а до -z

Из книги Системное программирование в среде Windows автора Харт Джонсон М

10.5.1. Параметры командной строки от -а до -z Со временем часто используемые параметры в широко известных Unix-программах создали неформальный стандарт семантики для ожидаемого значения различных флагов. Ниже приводится перечень параметров и их значений, которые будут


10.5. Параметры командной строки

Из книги VBA для чайников автора Каммингс Стив

10.5. Параметры командной строки Unix-традиции поощряют использование ключей командной строки для управления программами, так чтобы параметры можно было задавать из сценариев. Это особенно важно для программ, которые выполняют функции фильтров или каналов. Существует 3


10.5.1. Параметры командной строки от -а до -z

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

10.5.1. Параметры командной строки от -а до -z Со временем часто используемые параметры в широко известных Unix-программах создали неформальный стандарт семантики для ожидаемого значения различных флагов. Ниже приводится перечень параметров и их значений, которые будут


Пример: клиент-серверный процессор командной строки

Из книги Реестр Windows 7 автора Климов Александр Петрович

Пример: клиент-серверный процессор командной строки Теперь мы располагаем всем необходимым для построения клиент-серверной системы, работающей с запросами и ответами. В данном примере будет представлен сервер командной строки, выполняющий команду по требованию


Получение списка аргументов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Получение списка аргументов Многие VBA-процедуры требуют, чтобы при их выполнении были определены один или несколько аргументов. Такие процедуры используют в своих вычислениях (или других выполняемых ими действиях) информацию, содержащуюся в этих аргументах. Подобно


Ключи командной строки

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Ключи командной строки Большинству пользователей не нужно работать с интерфейсом командной строки, ключи предназначены для использования системными администраторами. С их помощью можно вручную установить или удалить Radmin, изменить номер порта, а также производить


Утилита командной строки REG.EXE

Из книги UNIX — универсальная среда программирования автора Пайк Роб

Утилита командной строки REG.EXE Кроме редактора реестра, имеющего графический интерфейс, в составе Windows 7 имеется также утилита командной строки REG.EXE, предназначенная для опытных пользователей. С ее помощью можно создавать различные сценарии для выполнения различных


Переключатели командной строки

Из книги автора

Переключатели командной строки Требуются только начальные символы переключателей. Вы также можете набрать любую часть текста в квадратных скобках, показанного в табл. 37.1, включая полное название режима. Например, задание -n, -no, -noauto имеет одинаковый эффект.Таблица 37.1.


Пример 9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@

Из книги автора

Пример 9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@ #!/bin/bash# Вызовите сценарий с несколькими аргументами, например: "один два три".E_BADARGS=65if [ ! -n "$1" ]then echo "Порядок использования: `basename $0` argument1 argument2 и т.д." exit $E_BADARGSfiechoindex=1echo "Список аргументов в переменной "$*":"for arg in


Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд

Из книги автора

Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд #!/bin/bash# уЩЫЬ for гЯ [гаЩгЫЯЭ], гЯкФСЮЮйЭ г аЯЭЯниР аЯФгдСЮЯзЫЩ ЫЯЭСЮФ.NUMBERS="9 7 3 8 37.53"for number in `echo $NUMBERS` # for number in 9 7 3 8 37.53do echo -n "$number "doneecho exit 0Более сложный пример использования подстановки


Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"

Из книги автора

Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков" #!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если