Приложение H. Преобразование пакетных (*.bat) файлов DOS в сценарии командной оболочки
Приложение H. Преобразование пакетных (*.bat) файлов DOS в сценарии командной оболочки
Большое число программистов начинало изучать скриптовые языки на PC, работающих под управлением DOS. Даже на этом "калеке" удавалось создавать неплохие сценарии, хотя это и требовало значительных усилий. Иногда еще возникает потребность в переносе пекетных файлов DOS на платформу UNIX, в виде сценариев командной оболочки. Обычно это не сложно, поскольку набор операторов, доступных в DOS, представляет из себя ограниченное подмножество эквивалентных команд, доступных в командной оболочке.
Таблица H-1. Ключевые слова/переменные/операторы пакетных файлов DOS и их аналоги командной оболочки
Операторы пакетных файлов Эквивалентные команды в UNIX Описание % $ префикс аргументов командной строки / - признак ключа (опции) / разделитель имен каталогов в пути == = (равно) сравнение строк !==! != (не равно) сравнение строк | | конвейер (канал) @ set +v не выводить текущую команду * * "шаблонный символ" в имени файла > > перенаправление (с удалением существующего файла) >> >> перенаправление (с добавлением в конец существующего файла) < < перенаправление ввода stdin %VAR% $VAR переменная окружения REM # комментарий NOT ! отрицание последующего условия NUL /dev/null "черная дыра" для того, чтобы "спрятать" вывод команды ECHO echo вывод (в Bash имеет большое число опций) ECHO. echo вывод пустой строки ECHO OFF set +v не выводить последующие команды FOR %%VAR IN (LIST) DO for var in [list]; do цикл "for" :LABEL эквивалент отсутствует (нет необходимости) метка GOTO эквивалент отсутствует (используйте функции) переход по заданной метке PAUSE sleep пауза, или ожидание, в течение заданного времени CHOICE case или select выбор из меню IF if условный оператор if IF EXIST FILENAME if [ -e filename ] проверка существования файла IF !%N==! if [ -z "$N" ] Проверка: параметр "N" отсутствует CALL source или . (оператор "точка") "подключение" другого сценария COMMAND /C source или . (оператор "точка") "подключение" другого сценария (то же, что и CALL) SET export установить переменную окружения SHIFT shift сдвиг списка аргументов уомандной строки влево SGN -lt или -gt знак (целого числа) ERRORLEVEL $? код завершения CON stdin "консоль" (stdin) PRN /dev/lp0 устройство принтера LPT1 /dev/lp0 устройство принтера COM1 /dev/ttyS0 первый последовательный портПакетные файлы обычно содержат вызовы команд DOS. Они должны быть заменены эквивалентными командами UNIX.
Таблица H-2. Команды DOS и их эквиваленты в UNIX
Команды DOS Эквивалент в UNIX Описание ASSIGN ln ссылка на файл или каталог ATTRIB chmod изменить атрибуты файла (права доступа) CD cd сменить каталог CHDIR cd сменить каталог CLS clear очистить экран COMP diff, comm, cmp сравнить файлы COPY cp скопировать файл Ctl-C Ctl-C прервать исполнение сценария Ctl-Z Ctl-D EOF (конец-файла) DEL rm удалить файл(ы) DELTREE rm -rf удалить каталог с подкаталогами DIR ls -l вывести содержимое каталога ERASE rm удалить файл(ы) EXIT exit завершить текущий процесс FC comm, cmp сравнить файлы FIND grep найти строку в файлах MD mkdir создать каталог MKDIR mkdir создать каталог MORE more постраничный вывод MOVE mv переместить PATH $PATH путь поиска исполняемых файлов REN mv переименовать (переместить) RENAME mv переименовать (переместить) RD rmdir удалить каталог RMDIR rmdir удалить каталог SORT sort отсортировать файл TIME date вывести системное время TYPE cat вывести содержимое файла на stdout XCOPY cp (расширенная команда) скопировать файл
Фактически, команды и операторы командной оболочки UNIX имеют огромное количество дополнительных опций, расширяющих их функциональность, по сравнению с их эквивалентами в DOS. В большинстве своем, пакетные файлы DOS предполагают наличие вспомогательных утилит, таких как ask.com ("увечный" аналог UNIX-вого read).
DOS поддерживает крайне ограниченный набор шаблонных символов, учавствующих в операциях подстановки имен файлов, распознавая только два символа -- * и ?.
Преобразование пакетных файлов DOS в сценарии командной оболочки, обычно не вызывает затруднений, а результат такого преобразования читается гораздо лучше, чем оригинал.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
9.1.4.2. Функции-оболочки: execl() и др.
9.1.4.2. Функции-оболочки: execl() и др. Пять дополнительных функций, действующих в качестве оболочек, предоставляют более удобные интерфейсы для execve(). В первой группе все принимают список аргументов, каждый из которых передается в виде явного параметра функции:int execl(const char *path,
Пример: преобразование файлов с использованием перекрывающегося ввода/вывода и множественной буферизации
Пример: преобразование файлов с использованием перекрывающегося ввода/вывода и множественной буферизации Программа 2.4 (atou) осуществляла преобразование ASCII-файла к кодировке UNICODE путем последовательной обработки файла, а в главе 5 было показано, как выполнить такую же
3.2. Настройка оболочки Windows
3.2. Настройка оболочки Windows Теперь, после того как новый интерфейс и новые возможности Windows Vista вас не пугают, займемся подробным описанием нового интерфейса операционной системы Windows Vista и возможностей его настройки.Настройка меню Пуск и Панели задачНовые меню Пуск и
Сценарии оболочки
Сценарии оболочки Наш затянувшийся разговор о командах и командном интерфейсе подходит к концу. И в заключение этого раздела — ещё немного терпения. Потому что было бы несправедливо не уделить чуть-чуть места тому, что придает командному интерфейсу POSIX-систем его
5.6.2 Приглашения оболочки
5.6.2 Приглашения оболочки Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения, которое bash выводит, когда ожидает ввода очередной команды пользователем. По умолчанию этой переменной присвоено значение "s-v$ ". Вообще-то в bash существует четыре
Определение оборудования оболочки
Определение оборудования оболочки Служба отвечает за автоматический запуск содержимого компакт-дисков или подключенной флэш-карты. После отключения этой службы из диалога свойств съемных дисков или компакт-дисков исчезнет вкладка Автозапуск, а также будет отключена
Приложение 1 Adobe Bridge – средство организации файлов
Приложение 1 Adobe Bridge – средство организации файлов Строго говоря, Bridge не входит в состав Photoshop, а является самостоятельной программой в составе пакета Creative Suite 4. Однако вспомним историю. В версиях 7.0 и CS это средство работы с файлами называлось File Browser (Обозреватель файлов) и
Библиотека оболочки
Библиотека оболочки DragAcceptFiles Функция DragAcceptFiles регистрирует окно, если оно принимает перетаскиваемые на него файлы. VOID DragAcceptFiles ( HWND hWnd , // дескриптор окна BOOL fAccept // опция разрешения принятия файлов ); Параметры hWnd - идентифицирует окно, регистрируемое, если оно принимает
Глава 20. Ограниченный режим командной оболочки
Глава 20. Ограниченный режим командной оболочки Команды, запрещенные в ограниченном режиме командной оболочкиЗапуск сценария или его части в ограниченном режиме, приводит к наложению ограничений на использование некоторых команд. Эта мера предназначена для ограничения
33.10. Сценарии командной оболочки под Windows
33.10. Сценарии командной оболочки под Windows Даже те пользователи, которые работают в другой, не UNIX-подобной операционной системе, смогут запускать сценарии командной оболочки, а потому -- найти для себя много полезного в этой книге. Пакеты Cygwin от Cygnus, и MKS utilities от Mortice Kern Associates,
Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки
Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки #!/bin/bash# Результат преобразования пакетного файла VIEWDATA.BAT в сценарий командной оболочки.DATAFILE=/home/bozo/datafiles/book-collection.dataARGNO=1# @ECHO OFF Эта команда здесь не нужна.if [ $# -lt "$ARGNO" ] # IF !%1==! GOTO VIEWDATAthen less
Загрузочные оболочки
Загрузочные оболочки Началу работы операционной системы предшествует ее загрузка. Стандартные возможности Windows не позволяют сделать загрузчик более привлекательным и продуктивным. Эту проблему успешно решают программы сторонних разработчиков, позволяющие оформить
Приложение А Форматы заголовков EXE-файлов
Приложение А Форматы заголовков EXE-файлов Формат заголовка обычного EXE-файлаВ начале EXE-файла расположена форматированная часть заголовка EXE-файла (Таблица А-1).Далее следует таблица настройки адресов (Relocation Table), состоящая из длинных указателей (смещение: сегмент) на те