将Linux代码转换为批处理文件格式以在MS-DOS中运行

时间:2011-04-14 08:50:02

标签: linux batch-file dos

这个来自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 :(得分:0)

以前似乎脚本需要使用三个参数运行,比如

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

稍后会添加一些默认值,并且允许不带参数运行(只有rebuild_db.sh)。默认数据库名称为CARMPAS1,但如果至少有一个命令行参数,则会从命令行读取。

使用默认值读取第一个参数应该在MS-DOS批处理文件中工作,如下所示:

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

答案 1 :(得分:0)

代码正在测试参数的数量是否大于零。 如果是,则将环境变量DB设置为第一个参数的值,否则将DB设置为值“CARMPAS1”。