0

スイッチ/フラグの形式で資格情報(引数)を取得するtestDB.shなどのシェルスクリプトがあります。たとえば、このスクリプトを実行するには、次のようにします

./testDB.sh -u ユーザー名 -p パスワード。

Java から呼び出すために、従来の方法論に従います。

Runtime.getRuntime().exec(new String[] {"bash","/<path to test script>/testDB.sh","<username>","<password>"});

上記は原因を解決していないようです:(

Java からフラグ/スイッチの形式で引数を渡して、このスクリプトを呼び出す方法を知りたいです。この -u および -v スイッチを渡すにはどうすればよいですか?? どんな助けでもいただければ幸いです

4

3 に答える 3

1

それはあなたが現在持っているものの延長ではありません。あなたは現在持っています...

Runtime.getRuntime().exec(new String[] {"bash","/<path to test script>/testDB.sh","<username>","<password>"});

それを更新します

String command = String.format( "/<path to test script>/testDB.sh -u %s -p %s", username, password );
String[] cmdAndArgs = { "/bin/bash", "-c", command };

Runtime.getRuntime().exec( cmdAndArgs );
于 2013-11-06T13:29:27.767 に答える
1

パスワードとユーザー名の両方が変数に保存されている場合は、次を試してみることをお勧めします。

Runtime.getRuntime().exec("<script path>/testDB.sh -u " + username + " -p " + password);
于 2013-11-06T13:11:28.770 に答える