2011-04-14 9 views
0

Linuxのこのコードブロックは何を意図していますか、MS-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 

私はこれらの部分がコメントされた理由を知りませんが、成功しなかったことを意図していたと思います。いくつかのデフォルト値が追加された以降で、以前は、スクリプトが次に

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

のような三つの引数、で実行する必要があったようだおそらく宣言と

+0

MS-DOSはどこでWindows NT上で動作するのですか? – Gabe

+0

ちょうどどんな窓のOSなどのようなさらなる質問を避けたかった...私の悪い...私はそれを学ぶようにはなりませんでしたが、私は今だと思います。このタイプのコードを私自身で学習しようとしています... – Selase

+0

これを定期的に行う必要がある場合は、実際にシェルスクリプトを学習する価値があります。 Stackoverflowは良いですが、完全に信頼できる翻訳者ではありません。 :) –

答えて

0

を実行するためにいくつかのスクリプトのための条件、および引数を指定しないで実行することができます(ただrebuild_db.sh)。デフォルトのデータベース名はCARMPAS1ですが、少なくとも1つのコマンドライン引数がある場合はコマンドラインから読み込まれます。このようなMS-DOSバッチファイルに動作する必要があり、デフォルト値は、最初の引数を読み取る

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

私は参照してください...どのようにバッチファイル形式で引数を指定するのですか?特にこの部分。 ([$#-gt 0] && DB = $ 1 || DB = CARMPAS1) – Selase

+0

@Selase:答えに追加しました。最初は完全に質問を読んでいないのは残念です。 – dancek

0

コードは、引数の数がゼロよりも大きいかどうかをテストします。 この場合、環境変数DBは最初の引数の値に設定され、それ以外の場合はDBが値 "CARMPAS1"に設定されます。

+0

バッチファイル形式でどうすればいいですか?引数をテストし、DBを設定しますか? – Selase

+0

これは正しいでしょうか? – Selase

+0

%0 == && DB =%1 || DB = CARMPAS1 – Selase

関連する問題