は、ここで私はachiveしようとしているものです:コマンドを実行し、結果コードを確認するときbashでは、if文の条件として関数呼び出しを使用できますか?
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
は、ここで私はachiveしようとしているものです:コマンドを実行し、結果コードを確認するときbashでは、if文の条件として関数呼び出しを使用できますか?
function f1() {
return 0
}
function f2() {
return 0
}
if [[ f1 && f2 ]]; then
echo "success"
else
echo "fail"
fi
あなたは[[
(または[
)を使用しないでください。
if f1 && f2 ; then
echo "success"
else
echo "fail"
fi
はい。あなたは、エコーによるリターン(ではないが、厳密なリターン)に対してチェックすることにより、これを行うことができます。
関数の戻り値の詳細については、このページを参照してくださいに動作しますif [[ "$(f1)" == "whatever" ]]
。また、if文について具体的に言及する良いコメントがいくつかあります。
http://www.linuxjournal.com/content/return-values-bash-functions
'$(...)'を使用して戻り値を取得することはできません。 –
ちょうどエコー。修正する。 – evan
恐ろしい - ありがとう! –