2017-09-22 11 views
0

私は、アプリケーションの終了コードとbashの戻り値に混乱があります。 eclipseアプリケーションの場合、eclipseを使用してコマンド行インターフェースを実行すると、終了コードが1(エラー時に予想される)として戻されます。しかし、シェルファイルを使って同じコマンドラインを実行し、 "echo $?"で戻り値をチェックするとアプリケーションの終了ステータスは、アプリケーションがシェルスクリプトで実行されている場合と異なります

enter image description here

シェルスクリプト:それは常にEclipseでコマンドラインモードで起動0

アプリケーションとして値を返します

コマンド= "toolCli.exe -application引数"

を$コマンド

echo $?

出力ここでは常に0になりますが、ここでの違いは何ですか?

+0

あなたのコマンドは何ですか? – yacc

+0

@yaccits toolsCli.exeを呼び出すツールのコマンドラインインターフェイスコマンド。コマンドのフォーマットはtoolsCli.exeです - アプリケーション user3462473

+0

私はそれがトークン化の問題だと思います。 'eval" $ command "で何を得るのですか?そしてtoolsCli.exeは、元の終了値を変更するかもしれません。 – yacc

答えて

0
$ com="echoo hi" 
$ $com 
No command 'echoo' found, did you mean: 
Command 'echo' from package 'coreutils' (main) 
echoo: command not found 
$ echo $? 
127 

あなたが終了値が仕事をして見ることができるように、私は日食の環境でお使いのbash環境とは異なることとして、あなたの問題は、環境をどうするかもしれないと考えていますか?

Javaパスからは、64ビットのWindows envがあり、そのEclipseが標準のWindowsコマンドラインを使用しているように見えるので、どのようにbash envとして動作するのか興味がありますか?

Windowsのコマンドラインでコマンドを実行し、失敗したかどうかを確認して、両方の環境のJavaセットアップを比較してください。

関連する問題