行に返された値がtrueであるかどうかを確認するには?

行に返された値がtrueであるかどうかを確認するには?

Bashで次のコマンドを実行します。

yarn config get workspaces-experimental

次を返します。

true\n
\n

「true」または「false」の後には、2 つの終了行が続きます。私はこのプロセスを取り、標準出力を検証し、結果が「true」でない場合は終了コードを返す別のプロセスにパイプしたいと思います。

どうすればいいですか?縦棒(|)を使用しますか?

答え1

使用すると、テキストリテラルが一致する場合にのみ終了ステータスbashコード0(成功)が生成されます。trueそれ以外の場合は、ゼロ以外の値(失敗)を返します。

[[ $(yarn config get workspaces-experimental) == true ]]

次の条件文で直接使用できます。

if [[ $(yarn config get workspaces-experimental) == true ]]
then
    echo "Relax, everything is fine"
fi

答え2

xargsパイプで接続して使用できますtest

yarn config get workspaces-experimental | xargs test true =

関連情報