Команды реконфигурирования системы

8.8.11. Команды реконфигурирования системы Команда SET

Назначение: установка значений глобальных переменных в окружении NDOS и отображение окружения.

Синтаксис:

SET [/P] [/R file ...] [stringl[=][string2]]

Комментарии. По сравнению с одноименной DOS-командой команда SET обладает следую­щими дополнительными возможностями:

1)         когда в командной строке задано только имя string 1 (без последующего символа =), то отображается значение данной глобальной переменной;

2)         переключатель /Р обеспечивает постраничное отображение окружения;

3)         переключатель /R служит для загрузки фрагментов окружения из заданных вслед за ним файлов. Файлы с окружением могут содержать строки-комментарии, которые должны начинаться с двоеточия.

Замечания:

        символ = между strtngl и string2 может заменяться пробелом;

       файл с окружением можно создать текстовым редактором или путем перенаправления стандартного вывода команды SET без переключателей и аргументов;

        загрузка окружения из файла выполняется гораздо быстрее, чем формирование окружения последовательностью команд SET в командном файле;

        для удаления глобальных переменных из окружения лучше воспользоваться командой UNSET.

 

Команда ESET

Назначение: редактирование значений глобальных переменных и определений синонимов.

Синтаксис:

ESET string ...

Комментарии. Аргументы string задают имена подлежащих редактированию глобальных пе­ременных и/или синонимы. После выдачи команды на экране появляется строка, найденная по первому аргументу (значение глобальной переменной или определение синонима). Эту строку Вы можете обновить средствами редактирования командной строки (см. п. 8.8.5). После нажатия клавиши Enter начинается обработка второго аргумента и т.д.

Замечание: коллизии имен глобальных переменных и синонимов разрешаются в пользу первых. Поэтому Вы не сможете отредактировать определение синонима, если имеется одно­именная с ним глобальная переменная.

 

Команда UNSET

Назначение: удаление глобальных переменных из окружения.

Синтаксис:

UNSET strihg ...

или

UNSET *

Комментарии. Команда UNSET в первой форме удаляет из окружения NDOS глобальные переменные, имена которых заданы в качестве аргументов. Вторая форма команды обеспечивает очистку всего окружения.

Замечание: вторую форму команды применяйте с большой осторожностью, так как многие программы, в том числе NDOS, используют значения глобальных переменных.

 

Команда SETDOS

Назначение: установка и отображение значений системных переменных, конфигурирующих NDOS.

Синтаксис:

SETDOS [/Аа] [/Сс] [/Eg] [/Ff] [/Нh] [/I{ + | –}string]

[/Ll] [/Mm] [/Nn] [Rr] [/Ssl:s2] [Uu] [/Vv]

Комментарии. Данная команда позволяет осуществить настройку NDOS в зависимости от потребностей пользователя. Обычно она помещается в файл автозапуска.

Если ни один из переключателей в командной строке не задан, то отображаются текущие установки. В противном случае текущие установки заменяются специфицированными.

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

Теперь рассмотрим все допустимые в командной строке переключатели.

Переключатель a (соответствует переменной ANSI) определяет, будет ли NDOS использовать Escape-последовательности при очистке экрана. Применять такие последовательности можно только тогда, когда к системе подключен драйвер ANSI.SYS. Обычно NDOS сам выясняет, подключен ли этот драйвер, и тогда /Аa не требуется. Однако, если Вы используете нестандартный ANSI-драйвер, то переключатель необходим. Допустимы следующие значения а:

0                                  — предоставить возможность NDOS"y самому определить, подключен ли ANSI-драйвер (принимается по умолчанию);

1                                 — положить, что ANSI-драйвер подключен;

2                                 — положить, что ANSI-драйвер не подключен.

Переключатель /Сс (переменная COMPAUND) задает символ, который будет использоваться для разделения команд в командной строке. По умолчанию принимается Л. В качестве с нельзя использовать символы перенаправления ввода-вывода (|,< и >), а также «чистые» пробелы.

Переключатель /Eg (переменная ESCAPE) определяет символ, который будет отменять нор­мальную интерпретацию следующего символа, заменяя ее другой. В частности, такое перекоди­рование позволяет без труда задать Escape-последовательности в команде ECHO при помощи символа е. По умолчанию в качестве g принимается символ CAN, отображаемый на экране как стрелка вверх и набираемый на клавиатуре путем нажатия комбинации клавиш Ctrl-X. Недопу­стимыми для g являются те же символы, что и в предыдущем переключателе.

Переключатель /Ff (переменная FULLNAMES) задает возможность сокращения спецификаций файлов. Если f=0, то такая возможность допускается (это значение принимается по умолчанию). Когда f= 1, то требуются полные имена.

Переключатель h (переменная HISTORY) устанавливает минимальную длину командной строки, которая будет запоминаться в стеке истории ввода команд. Если указать число 256, то стек отключится. Если специфицировать 0 (принимается по умолчанию), то запоминаться будут все командные строки.

Переключатель /I{+|— }string (переменная INTERNAL) запрещает (—) или разрешает (+) использование внутренней команды NDOS, имя которой задано в качестве string. По умолчанию все внутренние команды NDOS разрешены. Чтобы повторно разрешить использование команды после наложения запрета, выдайте SETDOS снова, указав +. Отмена опасных команд увеличит «запас прочности» системы при работе неквалифицированных пользователей.

Переключатель /L1 (переменная LINE) управляет режимом считывания командной строки с клавиатуры. Если l = 0, то используется посимвольный ввод. Этот режим устанавливается по умолчанию. Чтобы указать NDOS'y на необходимость ввода командной строки целиком, следует в качестве l задать 1. Такой режим используется в КП DOS. Для NDOS он исключает возможность редактирования командной строки, фиксации командных строк в стеке истории ввода команд и подстановки имен файлов вместо шаблона. Поэтому его целесообразно использовать только для тех программ, которые иначе не работают, определив синоним вида

SETDOS /L1^имя программы %&*SETDOS /L0

Переключатель /Mm (переменная MODE) устанавливает первоначальный режим редактиро­вания командной строки. Когда т = 0 (принимается по умолчанию), редактирование командной строки начинается в режиме замены. Для того чтобы редактирование командной строки начиналось в режиме вставки, задайте 1.

Переключатель /Nn (переменная NOCLOBER) управляет перенаправлением стандартного вывода по умолчанию (n=0) использование символа > приводит к уничтожению существующего файла, а применение символов > > для несуществующего файла обеспечивает его создание. Если задать 1, то при перенаправлении по символу > существующий файл не уничтожается и операция не выполняется, а в случае использования символов > > целевой файл должен существовать.

Переключатель /Rr (переменная ROWS) задает посредством r число строк экрана для ис­пользования внутренними командами NDOS при отображении информации. Обычно он не нужен, так как возможности дисплея распознаются автоматически. Однако если у Вас нестандартный дисплей, то данный переключатель может потребоваться. Заметим, что г не изменяет число строк, когда NDOS ждет ввода команды или вводит ее (в этих случаях работает BIOS).

Переключатель /Ssl:s2 (переменная SHAPE) устанавливает размер курсора, где s1 — начальная, a s2 — последняя строка сканирования. По умолчанию используются последние две строки знакоместа. NDOS изменяет размер курсора немедленно, что позволяет «спрятать» его при выполнении командного файла, задав, например, /S32:32 или любую другую необычную комби­нацию. Курсор установленного описанным способом размера присутствует в основном режиме редактирования командной строки, задаваемом переключателем /М. В другом же режиме курсор будет иметь максимальный размер.

Переключатель /Uu (переменная UPPER) задает, на каком регистре будут выводиться имена файлов внутренними командами NDOS. По умолчанию (п=0) для этой цели используются строчные буквы. Чтобы обеспечить совместимость с КП DOS, укажите 1 и тогда будут применяться прописные буквы.

Переключатель /Vv (переменная VERBOSE) устанавливает начальный режим отображения команд при выполнении командного файла. Если v=l (принимается по умолчанию), то команды будут отображаться, если эхо-отображение не отключено. Когда v=0, команды не будут отобра­жаться, если эхо не включено явно командой ECHO ON.

Замечание: в среде оболочки DOS, в частности, Norton Commander'a, изменить значение системной переменной не удастся.

Пример:

    SETDOS˜ /М1

 

Команда PROMPT

Назначение: изменение приглашения NDOS.

Синтаксис:

PROMPT [string]

Комментарии. Если аргумент не задан, то для приводов А и В (т.е. НГМД) устанавливается приглашение $n$g, а для других приводов (обычно — НЖМД) — $p$g. Вспомним, что в DOS для всех дисководов по умолчанию принимается приглашение $n$g.

Дополнительно к DOS-команде PROMPT теперь можно использовать следующие двухсим-вольные и четырехсимвольные комбинации (обратите внимание на то, что одноименные строчные и прописные буквы в данном контексте различаются):

                   — символ (;

$f                     — символ );

$s                    — символ пробела;

d:                — текущий каталог диска в приводе й прописными буквами, независимо от того, какой дисковод в настоящее время является текущим;

$xd:                 — текущий каталог диска в приводе й строчными буквами, независимо от того, какой дисковод в настоящее время является текущим;

$z                    — текущий уровень вложенности N005 (для первичной копии — 0, вторичной — 1 и т.д.).

Если NDOS работает в резидентном режиме, то указывается 99.

Комбинации $р и $п в отличие от КП DOS обеспечивают вывод строчными, а не прописными буквами. Для совместимости с КП DOS применяйте $Р и $N.

Замечание: команду PROMPT, для выдачи Escape-последовательности из командного файла, в среде NDOS использовать нельзя, так как при его интерпретации приглашения на экран дисплея не посылаются. Поэтому для решения этой задачи в командных файлах применяйте команду ECHO.

 

Команда HISTORY

Назначение: отображение, загрузка и освобождение стека истории ввода команд. Синтаксис:

HISTORY [/F] [/P] [/R file]

Комментарии. Если в командной строке не задан ни один из переключателей, то просто отображается содержимое стека истории ввода команд, начиная с его дна. Переключатели интерпретируются следующим образом:

/F                    — освободить (очистить) стек;

/Р                     — отобразить содержимое стека в постраничном режиме;

/R                    — загрузить стек из заданного, файла file.

Замечания:

― число командных строк, способных одновременно храниться в стеке, зависит от их длины, а также от размера стека (аналогичное замечание справедливо для стека каталогов);

― создать файл с историей можно текстовым редактором или путем перенаправления стан­дартного вывода команды HISTORY;

― для запрета записи командных строк в стек, а также для фильтрации командных строк перед записью в стек используйте команду SETDOS.

 

Команда ALIAS

Назначение: объявление синонима, а также загрузка и отображение списка синонимов.

Синтаксис:

ALIAS [/P] [/R file ...] [stringl[ = ][string2]]

Комментарии. Под синонимом (алиасом) понимают имя, которое может использоваться в командной строке в качестве заменителя последовательности команд. Аппарат синонимов по­зволяет пользователю определять свои собственные команды (в общем случае — макрокоманды) вплоть до полного переопределения командного языка.

Объявленный командой ALIAS синоним имеет определение, которое при использовании синонима в командной строке, возможно, конкретизируется и затем обязательно подставляется вместо синонима. Этот процесс называется разименованнем синонима. Разимеиование синонимов в командной строке производится до тех пор, пока это возможно. Поэтому в определении синонима допускается использование объектов такого типа. Единственное ограничение состоит в запрете рекурсии. Иными словами, в определении синонима, а также во всех синонимах, в нем использованных непосредственно или косвенно, не допускается задание этого же синонима.

Синонимы можно специфицировать в командной строке вместо команды.

Имеется много общего между аппаратом синонимов и командных файлов. Отличия же состоят в следующем:

― синонимы интерпретируются NDOS'om гораздо быстрее командных файлов, так как их определения хранятся в ОЗУ, а командные файлы — на дисках;

― синонимы могут иметь сокращения, а имя командного файла всегда должно указываться целиком;

― длина синонима ограничивается 80 символами, в то время как командный файл может иметь максимум 8-символьное имя;

― определение синонима должно размещаться на одной строке и не может содержать более 255 символов, а командный файл может содержать последовательность строк;

― в определениях синонимов недопустимы некоторые команды, разрешенные к использо­ванию в командных файлах;

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

Аналогично командным файлам в определении синонима можно использовать до 128 пара­метров, имеющих имена от %0 до %127, причем вместо параметра %0 подставляется сам синоним, а вместо остальных параметров — позиционно соответствующие им аргументы, ука­занные вслед за синонимом. Как и в командных файлах, в определениях синонимов дополнительно поддерживаются следующие параметры:

1) параметр %&, вместо которого подставляется вся последовательность аргументов из об­ращения к синониму,

2) параметры %п&, вместо каждого из которых подставляется остаток аргументов из обращения к синониму, начиная с n-го аргумента.

Кроме того, весь стандартный ввод-вывод как синонима, так и командного файла, при его вызове можно перенаправлять.

Чтобы предотвратить разименование какого-либо имени в определении синонима, перед этим именем следует указать символ *.

В команде ALIAS аргумент siring 1 обозначает синоним, a string2 — его определение. Когда заданы как string 1, так и string1, выполнение команды сводится к объявлению нового синонима и его регистрации в среде NDOS. Если при этом внутри string 1 использован символ *, то синоним будет допускать сокращения. Так, синоним DISP'LAY можно будет вызвать через DISP, DISPL, DISPLA и DISPLAY.

Чтобы предотвратить бесконечное разименование и устранить неоднозначности при объяв­лении синонима в ответ на приглашение NDOS или в командном файле, в следующих случаях необходимо заключать его определение в символы ':

1) когда определение включает несколько команд, разделенных символом;

2) когда в определении используются параметры.

В файле же объявлений синонимов (см. ниже) использование символов ', наоборот, не допускается.

При задании в командной строке только синонима string 1 команда ALIAS отобразит его определение. Если команда ALIAS введена без переключателей и аргумента, то на экране будут отображены объявления всех синонимов.

В командной строке допустимы следующие переключатели:

/Р         — осуществить постраничную выдачу объявлений синонимов;

/R       — загрузить объявления синонимов из заданных файлов.

Загрузка объявлений синонимов из файла осуществляется гораздо быстрее, чем путем вы­полнения последовательности команд ALIAS. Структура файла объявлений синонимов совпадает с форматом отображения объявлений синонимов командой ALIAS, но допускаются строки-ком­ментарии, которые должны начинаться с двоеточия.

Замечания:

― если в вызове синонима больше аргументов, чем в определении синонима, то дополни­тельные аргументы останутся в командной строке после разименования этого синонима;

― файл объявлений синонимов можно создать текстовым редактором или путем перенап­равления стандартного вывода команды ALIAS;

—удалить синоним можно командой UNALIAS;

—в определении объявляемого синонима допускается использование еще не объявленных синонимов, так как разименование осуществляется только при вызове синонимов;

—работа с синонимами в среде оболочки DOS, в частности, Norton Commander'а, не поддерживается.

Примеры:

          ALIAS DIR=*DIR /W /O:N — переопределить команду D1R таким образом, чтобы по

умолчанию действовали указанные переключатели;

          ALIAS DISP*LAY*LIST

ALIAS LIST C:\NC\WPVIEW — переименовать NDOS-команду LIST на DISPLAY (сокраще­ние — DISP) и определить имя LIST для вызова текстового визуализатора оболочки Norton Commander;

         ALIAS SF C:\NU\SFORMAT — объявить синоним SF для утилиты Safe Format;

          ALIAS CAL*C='ECHO ОТВЕТОМ ЯВЛЯЕТСЯ %@EVAL[%&]' — определить калькулятор для целочисленных арифметических выражений;

          ALIAS L='PUSHD C:LEX^TEX %1^POPD' — объявить синоним, действие которого состоит в сохранении рабочего каталога, в переходе в каталог C:\LEX, в вызове текстового редактора ЛЕКСИКОН с загрузкой в него заданного в качестве аргумента файла и в восстановлении рабочего каталога после выхода из редактора.

 

Команда UNALIAS

Назначение: удаление синонимов из списка синонимов.

Синтаксис:

UNALIAS string ...

или

UNALIAS *

Комментарии. Аргументами string задаются подлежащие удалению синонимы. Если Вы хотите удалить все синонимы, то укажите *.