2017-04-16 1 views

答えて

0

通常は最初のものが欲しいものです。最初の関数は関数を実行し、終了ステータスをチェックし、関数が成功したことを示すステータスの場合はthenセクションを実行します。

2番目($())は、関数を実行し、関数がstdoutに出力した内容をキャプチャし、その出力を別のコマンドとして実行しようとします。何も出力しない場合、何も実行されないので、関数が成功すると(最初のバージョンと同様に)thenセクションが実行されます。一方、何かを出力すると、別のコマンドとして実行され、であれば、thenセクションが実行されます。それが有効なコマンドでない場合、失敗とみなされます。

あなたの関数は実行したいコマンドを出力しますか?その場合は、2番目のフォームを使用します。そうではなく、最初のものを使ってください。

+0

ありがとうございます。私はちょうど2番目が終了ステータスを返さないことを知ったので、最初のものと同様に動作しません –

関連する問題