П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180939 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 79548 раз(а).

Учебник HTML.
Просмотров 76014 раз(а).

Руководство по PHP5.
Просмотров 47055 раз(а).

Хостинг через призму DNS.
Просмотров 54539 раз(а).

Подборка текстов стандартных документов.
Просмотров 46805 раз(а).

Учебник PHP - Самоучитель
Просмотров 53075 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53686 раз(а).

Внешние атаки...
Просмотров 43377 раз(а).

Учебник PHP.
Просмотров 38894 раз(а).

SSI в примерах.
Просмотров 28776 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 30. Необязательные параметры (ключи)

Необязательные параметры -- это дополнительные ключи (опции), которые оказывают влияние на поведение сценария и/или командной оболочки.

Команда set позволяет задавать дополнительные опции прямо внутри сценария. В том месте сценария, где необходимо, чтобы та или иная опция вступила в силу, вставьте такую конструкцию set -o option-name, или в более короткой форме -- set -option-abbrev. Эти две формы записи совершенно идентичны по своему действию.

      #!/bin/bash

      set -o verbose
      # Вывод команд перед их исполнением.
      


      #!/bin/bash

      set -v
      # Имеет тот же эффект, что и выше.
      


Note

Для того, чтобы отключить действие той или иной опции, следует вставить конструкцию set +o option-name, или set +option-abbrev.

      #!/bin/bash

      set -o verbose
      # Вывод команд перед их исполнением.
      command
      ...
      command

      set +o verbose
      # Запретить вывод команд перед их исполнением.
      command
      # команда не выводится.


      set -v
      # Вывод команд перед их исполнением.
      command
      ...
      command

      set +v
      # Запретить вывод команд перед их исполнением.
      command

      exit 0
      


Как вариант установки опций, можно предложить указывать их в заголовке сценария (в строке sha-bang) -- #!.

      #!/bin/bash -x
      #
      # Далее следует текст сценария.
      


Так же можно указывать дополнительные ключи в командной строке, при запуске сценария. Некоторые из опций работают только если они заданы из командной строки, например -i -- ключ интерактивного режима работы скрипта.

bash -v script-name

bash -o verbose script-name

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

Таблица 30-1. Ключи Bash

Краткое имя Полное имя Описание
-C noclobber Предотвращает перезапись файла в операциях перенаправления вывода (не распространяется на конвейеры (каналы) -- >|)
-D (нет) Выводит список строк в двойных кавычках, которым предшествует символ $, сам сценарий не исполняется
-a allexport Экспорт всех, определенных в сценарии, переменных
-b notify Выводит уведомление по завершении фоновой задачи (job) (довольно редко используется в сценариях)
-c ... (нет) Читает команды из ...
-e errexit Прерывает исполнения сценария при появлении первой же ошибки, т.е. когда встретится команда, которая вернет ненулевой код возврата (за исключением циклов until или while, оператора if, цепочек из команд)
-f noglob Подстановка имен файлов (globbing) запрещена
-i interactive Сценарий запускается в интерактивном режиме
-n noexec Команды в сценарии считываются, но не исполняются (проверка синтаксиса)
-o Option-Name (нет) Установка опции Option-Name option
-o posix POSIX Изменяет поведение Bash или сценария таким образом, чтобы оно соответствовало стандарту POSIX.
-p privileged Сценарий запускается как "suid" (осторожно!)
-r restricted Сценарий запускается в ограниченном режиме (см. Глава 20).
-s stdin Читает команды с устройства стандартного ввода stdin
-t (нет) Завершает работу после выполнения первой команды
-u nounset При попытке обращения к неопределенным переменным, выдает сообщение об ошибке и прерывает работу сценария
-v verbose Выводит на stdout каждую команду прежде, чем она будет исполнена
-x xtrace Подобна -v, но выполняет подстановку команд
- (нет) Конец списка ключей (опций), последующие аргументы будут восприниматься как позиционные параметры.
-- (нет) Эквивалент предыдущей опции (-).

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: