Bashコードで正規表現を使用する場合

Bashコードで正規表現を使用する場合

その後、bash私は次のことをしました。この式はRedhatバージョンが7.5か7.6かをif計算します。true

if [[ ` cat /etc/redhat-release  | awk '{print $7}' ` == "7.5" ]] || [[ ` cat /etc/redhat-release  | awk '{print $7}' ` == "7.6" ]]
then
.
.
.

正規表現を使用して、よりエレガントな方法でこれを実行できますか?

これは次のとおりです/etc/redhat-release

cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)

ベストアンサー1

リリース文字列を直接確認する方がはるかに簡単です。

if grep -q 'release 7\.[56] ' /etc/redhat-release
then ...

このgrepコマンドは正規表現を介して一致を実行します。アトミック[56]マッチング56パターンマッチングを許可する、7.5または7.6.ゲーム以来すべての文字文字通りのドットと一致するようにバックスラッシュでエスケープしました。末尾のスペースは、一致するバージョン文字列の後に他の文字が続かないようにします。

おすすめ記事