2016-12-04 83 views
0

我寫了一個java程序,爲銀行賬戶維護一個數據庫(這是一個課程任務),我想創建一個bash腳本來運行。在運行程序時,您必須輸入「我」,「h」,「t」或「?」讓它執行任務。我想採取這些命令行參數,並在bash中運行此程序時使用它們。例如,如果腳本被命名爲account,我希望能夠鍵入accounts -i,並且腳本會使用已輸入的i命令啓動程序並執行該參數的任務?我會怎麼做呢?編寫一個bash腳本以使用命令行參數運行java程序?

+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

反正一個可以從一個管道,文件,等等等等喂標準輸入。

my_program < my_file 

輸入到my_program從文件my_file到來。

您也可以從這裏的文件飼料投入,語法是<<MARKERMARKER結束:

my_program << NAME_DOESNT_MATTER 
line1 
line2 
line3 
NAME_DOESNT_MATTER 

這將會把三條線變成my_program

在bash它只是指位置參數,因爲他們被稱爲$1$2,... $n

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

現在你應該能夠找出休息。

相關問題