if else then ショートカットの条件として関数の戻り値を使用するには?

if else then ショートカットの条件として関数の戻り値を使用するには?

場合によっては、関数を実行して呼び出し元に返す必要がありますが、これは私にとって効果的です。

if tst; then
    echo "success"
else
    echo "failure"
fi

function tst () {
    return 0;
}

ただし、ショートカット構文を使用すると、これを行うことはできないようです。 if [[ tst = true ]]またはif it = "0"テストを含む、次のステートメントのさまざまな組み合わせを試しましたが、理解できませんでした。

[[ tst ]] && echo "success" || echo "failure"

bash短縮構文を使用してif条件で関数をテストする正しい方法は何ですか?

ベストアンサー1

を使用すると仮定してA && B || C関数を直接呼び出すだけです。

tst && echo "success" || echo "failure"

以下を使用するには、終了値を使用する必要があります[[

tst
if [[ $? -eq 0 ]]
then 
    ...

おすすめ記事