2016-12-04 4 views
0

銀行口座のデータベースを管理するJavaプログラムを作成しました(これはコースの割り当てです)、実行するbashスクリプトを作成したいと思います。プログラムを実行すると、 "i"、 "h"、 "t"または "?"を入力する必要があります。タスクを実行するようにします。私はこれらのコマンドライン引数をとり、bashでこのプログラムを実行するときに使用したいと思います。たとえば、スクリプトの名前がaccountsの場合、アカウント-iを入力できるようにするため、スクリプトはiコマンドを入力してプログラムを起動し、その引数のタスクを実行します。それをどうやってやりますか?Javaプログラムをコマンドライン引数で実行するためのbashスクリプトの作成?

+0

'man getopt'または' help getopts'を参照してください。 – choroba

答えて

1

あなたのJavaプログラムが引数を取るのが最適でしょう。

しかし、私はこれが教育的な目的のみであり、Javaプログラムは標準入力から読み込むと仮定しています。

通常のプログラムの設定は引数として行く必要があります。

$ ./my_program --configA --configB --optC=valD 

しかし、あなたが質問をユーザーに促し、対話型プログラムを持っているようにあなたのケースでは、それはそうです:

$ ./my_program 
Question 1? 
> Answer1 
Question 2? 
> Answer2 

$は、コマンドですプロンプト、>はユーザ入力です。

my_program1 | my_program2 

my_program1からの出力がmy_program2への入力として行く:

とにかく1は、パイプ、ファイル、などなどから標準入力を供給することができます。 my_program

my_program < my_file 

入力ファイルmy_fileから来ています。

また、構文が<<MARKERあるとMARKERで終わる、ヒアドキュメントからの入力を養うことができます。これはmy_programに3行を入れます

my_program << NAME_DOESNT_MATTER 
line1 
line2 
line3 
NAME_DOESNT_MATTER 

bashで、それは彼らが$1と呼ばれているとして、位置パラメータを参照するために、単純です、$2 .. $n

$ cat my_shell_program 
#!/bin/bash 
echo "$2" "$1" 
$ ./my_shell_program "hello world" "John Doe" 
John Doe hello world 

今、あなたは残りの部分を把握することができるはずです。

関連する問題