Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Cadence / DSD2 / Лекция 1.doc
Скачиваний:
32
Добавлен:
16.04.2013
Размер:
120.32 Кб
Скачать
        1. Запуск unix Bourne-shell (sh, shell)

Запуская UNIX Bourne-shell sh как дочерний процесс для выполнения командной строки. Если функци sh вызывается без аргументов, вызывается интерактивный UNIX командный процессор, который запросит вас ввести UNIX команду (разрешено только в неграфических прикладных программах).

sh( "rm /tmp/junk")

Удаляет файл junk из каталога /tmp и возвращает t, если он удален успешно.

        1. Запуск unix c-shell (csh)

Запускае UNIX C-shell csh как дочерний процесс для выполнения командной строки. Идентична функции sh, но вызывает C-shell (csh), а не Bourne-shell (sh).

csh( "mkdir ~/tmp" )

Создает каталог tmp в вашем начальном каталоге.

Системное окружение.

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

        1. Выдача текущего времени (getCurrentTime)

getCurrentTime возвращает текущее время в виде строки. Формат строки: month day hour:minute:second year.

getCurrentTime( ) =>"Jan 26 18:15:18 1993"

        1. Сравнение времен (compareTime)

compareTime сравнивает два строковых аргумента, представляющих временно-календарное время. Формат строки: month day hour:minute:second year. Единицы измерения - секунды.

compareTime( "Apr 8 4:21:39 1991" "Apr 16 3:24:36 1991") =>-687777.

687,777 секунд прошло между двумя датами. Для получения положительного значения секунд самая новая дата должна быть первым аргументом.

compareTime("Apr 16 3:24:36 1991" "Apr 16 3:14:36 1991") =>600

600 секунд (10 минут) прошло между двумя датами.

Выдача номера текущей версии п/о Cadence (getVersion)

Возвращает номер версии используемого п/о.

getVersion() =>"cds3 version 4.2.2 Fri Jan 26 20:40:28 PST 1993"

        1. Выдача значения unix переменной окружения (getShellEnvVar)

getShellEnvVar возвращает значение UNIX переменной окружения, если она была установлена.

getShellEnvVar("SHELL") =>"/bin/csh"

Возвращает текущее значение переменной окружения SHELL.

        1. Задание unix переменной окружения (setShellEnvVar)

setShellEnvVar устанавливает значение UNIX переменной окружения в новое значение.

setShellEnvVar("PWD=/tmp") =>t

Устанавливает родительский рабочий каталог в /tmp directory .

getShellEnvVar("PWD") =>"/tmp"

Выдает родительский рабочий каталог.

Выход из SKILL.

Обычно вы выходите из SKILL непосредственно, вызывая команду меню Quit из CIW, когда п/о Cadence работает в графическом режиме, или вводя Control-d в строке запроса, когда выполнение происходит в неграфическом режиме. Однако вы можете также вызвать функцию exit, чтобы завершить выполнение SKILL программы с или без явным кодом статуса. В действительности как команда меню Quit в CIW, так и Control-d в автономном SKILL включают вызов exit.

Иногда вы можете захотеть выполнить определенные действия по очистке перед выходом из SKILL. Вы можете сделать это, регистрируя функции выход-до и/или выход-после, используя функции regExitBefore и regExitAfter. Функция выход-до вызывается до того, как выход будет сделан, а функция выход-после вызывается после того, как выход выполнит свои бухгалтерские задачи, и перед тем, как она вернем управление операционной системе. Пользовательские функции exit не берут никаких аргументов.

Чтобы взять еще большее управление, функция выход-до может возвращать атом ignoreExit, чтобы прервать вызов exit. При вызове exit, сначала вызываются все зарегистрированные функции выход-до в обратном порядке регистрации. Если любая из них возвращает специальный атом ignoreExit, запрос выхода прерывается и он возвращает nil программе вызова. После вызова функций выход-после она выполняет некоторые бухгалтерские задачи, вызывает все зарегистрированные функции выход-после в обратном порядке их регистрации и окончательно выходит в операционную систему.

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

Соседние файлы в папке DSD2