コマンド出力を文字列と比較する必要があります。シナリオは次のとおりです。
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_var
awkに文字列を渡すのではなく、コマンドで実行したいのです。
この問題を解決するには、echo
ifステートメントにまたはを追加してください。printf
if [[ $(echo "$pvs_var" | awk '{ print $2 }') = vg_name ]]; then
do something
fi