コマンド出力をテキストで表示する方法

コマンド出力をテキストで表示する方法

コマンド出力を文字列と比較する必要があります。シナリオは次のとおりです。

pvs_var=$(pvs | grep "sdb1") 

したがって、pvs varは次のようになります:/ dev / sdb1 vg_name lvm2 a-- 100.00g 0

if [[ $($pvs_var | awk '{ print $2 }') = vg_name ]]; then
    do something
fi

問題は、if文の出力が次のようになることです。

-bash: /dev/sdb1: Permission denied

私はこの動作を理解していません。ありがとう

ベストアンサー1

$pvs_varawkに文字列を渡すのではなく、コマンドで実行したいのです。

この問題を解決するには、echoifステートメントにまたはを追加してください。printf

if [[ $(echo "$pvs_var" | awk '{ print $2 }') = vg_name ]]; then
    do something
fi

おすすめ記事