русс | укр

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

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

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

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


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

Параметры


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


 

В командный файл могут быть переданы параметры. В shell используются позиционные параметры (т.е. существенна очередность их следования). В командном файле соответствующие параметрам переменные (аналогично shell-переменным) начинаются с символа "$", а далее следует одна из цифр от 0 до 9:

 

Пусть расчет "examp-1" вызывается с параметрами "cock" и "tail". Эти параметры попадают в новую среду под стандартными именами "1" и "2". В (стандартной) переменной с именем "0" будет храниться имя вызванного расчета.

 

При обращении к параметрам перед цифрой ставится символ доллара "$" (как и при обращении к переменным):

 

$0 соответствует имени данного командного файла;

$1 первый по порядку параметр;

$2 второй параметр и т.д.

 

Пусть командный файл с именем "examp-1" имеет вид

 

echo Это расчет $0:

sort $2 >> $1

cat $1

 

а файлы "cock" и "tail" содержат соответственно

 

cock:

 

Это отсортированный файл:

 

tail:

 

Тогда после вызова команды

 

examp-1 cock tail

 

на экране будет

 

Это расчет examp-1:

Это отсортированный файл:

 

Поскольку число переменных, в которые могут передаваться параметры, ограничено одной цифрой, т.е. 9-ю ("0", как уже отмечалось имеет особый смысл), то для передачи большего числа параметров используется специальная команда "shift".

 

Рассмотрим ее действие на примере.

 

Пусть командный файл "many" вызывается с 13-ю параметрами

 

many 10 20 30 40 50 60 70 80 90 100 110 120 130

 

И имеет вид

 

###

# many: Передача большого числа параметров.



echo "$0: Много параметров"

echo " Общее число параметров = $#

Исходное состояние: $1 $5 $9 "

shift

echo "1 сдвиг: первый=$1 пятый=$5 девятый=$9"

shift 2

echo "1 + 2 = 3 сдвига: первый=$1 пятый=$5 девятый=$9"

perem=`expr $1 + $2 + $3`

echo $perem

 

В результате первого применения команды "shift" второй параметр расчета вызывается как $1, третий параметр вызывается как $2, ... десятый параметр, который был исходно недоступен, вызывается как $9. Но стал недоступным первый параметр!

 

После выполнения этого расчета на экране будет:

 

many: Много параметров

Общее число параметров = 13

Исходное состояние: 10 50 90

1 сдвиг: первый=20 пятый=60 девятый=100

1 + 2 = 3 сдвиг: первый=40 пятый=80 девятый=120

 

Своеобразный подход к параметрам дает команда "set".

 

Например, фрагмент расчета

 

 

set a b с

echo первый=$1 второй=$2 третий=$3

 

выдаст на экран

 

первый=a второй=b третий=c

 

т.е. команда "set" устанавливает значения параметров. Это бывает очень удобно. Например, команда "date" выдает на экран текущую дату, скажем, "Mon May 01 12:15:10 2000", состоящую из пяти слов, тогда

 

set `date`

echo $1 $3 $5

 

выдаст на экран

 

Mon 01 2000

 

Команда "set" позволяет также осуществлять контроль выполнения программы, например:

 

set -v на терминал выводятся строки, читаемые shell.

Set +v отменяет предыдущий режим.

Set -x на терминал выводятся команды перед выполнением.

Set +x отменяет предыдущий режим.

 

Команда "set" без параметров выводит на терминал состояние программной среды (см далее).

 

 



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


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


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

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

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


 


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

 
 

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

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