Преобразование кодов Linux в формат пакетного файла для запуска в MS-DOS - PullRequest
0 голосов
/ 14 апреля 2011

Для чего предназначен этот блок кода из linux и как мне кодировать эквивалент, который должен делать то же самое в MS-DOS?

#DB=CARMPAS1
[ $# -gt 0 ] && DB=$1 || DB=CARMPAS1

#  if [ !$3 ]; then
#     echo -e "\nplease enter database name, username and user password.   Usage : rebuild_db.sh <db_name>  <user_name> <password>\n"
#     exit 1
#   else if [ $1 == "load" ]; then
#      load
#      exit 0 
#  fi

Я не знаю, почему были прокомментированы эти частивне, но я думаю, что они были предназначены, чтобы сделать что-то, что не удалось.Возможно объявление и условие для запуска некоторого скрипта

Ответы [ 2 ]

0 голосов
/ 14 апреля 2011

Код проверяет, больше ли число аргументов, чем ноль. Если это так, переменная окружения DB устанавливается в значение первого аргумента, в противном случае DB устанавливается в значение «CARMPAS1».

0 голосов
/ 14 апреля 2011

Похоже, что ранее скрипт требовалось запускать с тремя аргументами, например

rebuild_db.sh <db_name>  <user_name> <password>

Затем позже были добавлены некоторые значения по умолчанию, и запуск без аргументов (только rebuild_db.sh) разрешен.Имя базы данных по умолчанию - CARMPAS1, но оно будет прочитано из командной строки, если есть хотя бы один аргумент командной строки.

Чтение первого аргумента со значением по умолчанию должно работать в пакете MS-DOSтакой файл:

set dbname=CARMPAS1
if not "%1"=="" set dbname=%1
...