- •Автоматизированная система cadence. Командный интерпритатор. Skill - высокоуровневый, интерактивный язык программирования.
- •Вход в систему
- •Команды
- •Формат команды
- •Основные команды
- •Стандартный ввод и вывод
- •Структура каталогов
- •Допустимые имена файлов
- •Символы подстановки (шаблоны) в именах файлов
- •Запуск unix Bourne-shell (sh, shell)
- •Запуск unix c-shell (csh)
- •Выдача текущего времени (getCurrentTime)
- •Сравнение времен (compareTime)
- •Выдача значения unix переменной окружения (getShellEnvVar)
- •Задание unix переменной окружения (setShellEnvVar)
Запуск unix Bourne-shell (sh, shell)
Запуская UNIX Bourne-shell sh как дочерний процесс для выполнения командной строки. Если функци sh вызывается без аргументов, вызывается интерактивный UNIX командный процессор, который запросит вас ввести UNIX команду (разрешено только в неграфических прикладных программах).
sh( "rm /tmp/junk")
Удаляет файл junk из каталога /tmp и возвращает t, если он удален успешно.
Запуск unix c-shell (csh)
Запускае UNIX C-shell csh как дочерний процесс для выполнения командной строки. Идентична функции sh, но вызывает C-shell (csh), а не Bourne-shell (sh).
csh( "mkdir ~/tmp" )
Создает каталог tmp в вашем начальном каталоге.
Системное окружение.
Следующие функции находят и сравнивают текущее время, выдают номер версии используемого п/о и определяют значение UNIX переменной окружения.
Выдача текущего времени (getCurrentTime)
getCurrentTime возвращает текущее время в виде строки. Формат строки: month day hour:minute:second year.
getCurrentTime( ) =>"Jan 26 18:15:18 1993"
Сравнение времен (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"
Выдача значения unix переменной окружения (getShellEnvVar)
getShellEnvVar возвращает значение UNIX переменной окружения, если она была установлена.
getShellEnvVar("SHELL") =>"/bin/csh"
Возвращает текущее значение переменной окружения SHELL.
Задание 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 , как одну из функций выхода. Они трактуются как первые зарегистрированные функции выхода (вызываемые в последнюю очередь). Чтобы избежать беспорядка в системных установках, не используйте эти имена для других целей.