このコマンドの結果をテストしたいと思います。
dmesg | grep "Firmware patch 1563"
だから私は次のような文章を書こうとしています。
if [ "`dmesg | grep "Firmware patch 1563`" == "" ]
しかし、これはうまくいきません。このコマンドをどのように書き換える必要がありますか?
答え1
コマンドの結果を直接テストできます。
if dmesg | grep -q "Firmware patch 1563"
パイプの出力が空であることを確認する必要がある場合、コマンド$()
置換用そしてあなたの入れ子引用符スタンドアロンコマンドを使用するのと同じです。
if [ -z "$(my_command | other_command "some argument")" ]
答え2
答え3
あなたが書いた内容はうまくいくでしょう。あなたがその提案を忘れてしまったからではありません。それが必要です:
if [ "`dmesg | grep "Firmware patch 1563"`" == "" ]
"
次の追加情報を参照してください1563
。そういえば私の考えにはもう一つの答え必要なものを達成するためのより良い方法を提供します。