私のスクリプトで私はifne
使用していますmoreutils
パック。この行は次のように単純化できます。
printf "asdf\n" | ifne cat - && echo "stream not empty"
ifne
ストリームが空でない場合にのみ実行されます。しかし、echo "stream not empty"
ストリームが空でない場合にのみ2番目のコマンド()が実行されるようにするにはどうすればよいですか?たとえば、「ストリームが空ではない」と印刷されないように、次のコマンドをどのように変更しますか?
printf "" | ifne cat - && echo "stream not empty"
cat
括弧で囲むとecho
構文エラーが発生します。
printf "" | ifne (cat - && echo "stream not empty")
ストリームが空でない場合にのみ、最後のコマンドをどのように実行できますか?
ベストアンサー1
次の形式を使用してください。
printf "" | ifne sh -c "cat - ; echo 'stream not empty' "
出力はなしで、次のようになります。
printf "bb\n" | ifne sh -c "cat - ; echo 'stream not empty' "
出力は次のとおりです
bb
stream not empty