Пример 9-14. Подстановка параметров и сообщение о "порядке использования"

Пример 9-14. Подстановка параметров и сообщение о "порядке использования"

#!/bin/bash

# usage-message.sh

: ${1?"Порядок использования: $0 ARGUMENT"}

# Сценарий завершит свою работу здесь, если входные аргументы отсутствуют,

#+ со следующим сообщением.

# usage-message.sh: 1: Порядок использования: usage-message.sh ARGUMENT

echo "Эти две строки появятся, только когда задан аргумент в командной строке."

echo "Входной аргумент командной строки = "$1""

exit 0 # Точка выхода находится здесь, только когда задан аргумент командной строки.

# Проверьте код возврата в обеих случаях, с и без аргумента командной строки.

# Если аргумент задан, то код возврата будет равен 0.

# Иначе -- 1.

Подстановка параметров и/или экспансия. Следующие выражения могут служить дополнениями оператора match команды expr, применяемой к строкам (см. Пример 12-6). Как правило, они используются при разборе имен файлов и каталогов.

Длина переменной / Удаление подстроки

${#var}

String length (число символов в переменной $var). В случае массивов, команда ${#array} возвращает длину первого элемента массива.

Исключения:

? ${#*} и ${#@} возвращает количество аргументов (позиционных параметров).

? Для массивов, ${#array[*]} и ${#array[@]} возвращает количество элементов в массиве.

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

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

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

Пример использования

Из книги Разгони свой сайт автора Мациевский Николай

Пример использования В следующем примере сервер уведомляет Internet Explorer, что содержание документа не будет меняться в течение 1 часа (pre-check=3600) и что его можно загружать прямо из локального кэша. В случае же изменения страницы, если пользователь запросит ее по истечении 15


5.7.3 Подстановка параметров и переменных

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

5.7.3 Подстановка параметров и переменных Символ $ используется для обозначения операций подстановки параметров, подстановки команд и подстановок арифметических выражений. Выражение или имя, следующее за $, может быть заключено в скобки; что не обязательно, но удобно, так


Пример использования рецептов

Из книги Сетевые средства Linux автора Смит Родерик В.

Пример использования рецептов Приведенные выше сведения были необходимы для создания общего представления о работе Procmail. В листинге приведен чрезвычайно простой пример файла Procmail, предназначенного для фильтрации сообщений. Содержащиеся в нем рецепты пригодны для


Пример использования Go To

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

Пример использования Go To В следующем примере оператор Go To направляет поток программы из главной части процедуры к метке Special Value, если встречается необычное значение: Function GoToExample (ItemNumber As Integer ) Dim intR As Integer Select Case ItemNumber Case 2412 Go To SpecialValue Case Is < CutOffValue DoSomething


8.5. Условная подстановка параметров

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

8.5. Условная подстановка параметров Условная подстановка позволяет проверить, установлен ли определенный параметр, или использовать вместо его значения другое. Значение самого параметра при этом не изменяется. Допустимые виды условных подстановок перечислены в


9.3. Подстановка параметров

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

9.3. Подстановка параметров Работа с переменными и/или подстановка их значений${parameter}То же самое, что и $parameter, т.е. значение переменной parameter. В отдельных случаях, при возникновении неоднозначности интерпретации, корректно будет работать только такая форма записи:


Пример 9-13. Подстановка параметров и сообщения об ошибках

Из книги Linux программирование в примерах автора Роббинс Арнольд

Пример 9-13. Подстановка параметров и сообщения об ошибках #!/bin/bash# Проверка отдельных переменных окружения.# Если переменная, к примеру $USER, не установлена,#+ то выводится сообщение об ошибке.: ${HOSTNAME?} ${USER?} ${HOME?} ${MAIL?} echo echo "Имя машины: $HOSTNAME." echo "Ваше имя: $USER." echo "Ваш домашний


Пример использования

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Пример использования Данный раздел не является частью GPL. Здесь мы показываем комментарий с заявлением об авторских правах из программы GNU env:/* env - run a program in a modified environmentCopyright (C) 1986, 1991-2002 Free Software Foundation, Inc.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as


1.7.1. Пример использования команды chown

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

1.7.1. Пример использования команды chown Вот как можно поменять владельца файла с помощью команды chown:$ ls -l-rwxrwxrwx 1 louise admin 345 Sep 20 14:33 project$ chown pauline project $ ls -l-rwxrwxrwx 1 pauline admin 345 Sep 20 14:33 projectПраво владения файлом project переходит от пользователя louise к


1.7.2. Пример использования команды chgrp

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

1.7.2. Пример использования команды chgrp Следующий пример демонстрирует, как поменять группу, которой принадлежит файл:$ ls -1-rwxrwxrwx 1 pauline admin 345 Sep 20 14:33 project$ chgrp sysadmin project $ ls -1-rwxrwxrwx 1 pauline sysadmin 345 Sep 20 14:33 projectПользователь pauline передал группе sysadmin право владения файлом project, которое до


Простой пример использования функции select

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

Простой пример использования функции select Теперь мы переделаем код нашего получателя внеполосных данных и вместо сигнала SIGURG будем использовать функцию select. В листинге 24.3 показана принимающая программа.Листинг 24.3. Принимающая программа, в которой (ошибочно)


Пример использования таймера

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

Пример использования таймера Данная программа выводит 1 каждые 100 миллисекунд в течение 3 секунд:uses Timers;procedure TimerProc;beginwrite(1);end;begin var t := new Timer(100,TimerProc);t.Start;Sleep(3000);end.Вызов Sleep здесь обязателен, иначе программа после создания таймера сразу закончится, и обработчик таймера ни