文字列一致後に1文字だけを取得する方法(rpmでRHELバージョンを確認)

文字列一致後に1文字だけを取得する方法(rpmでRHELバージョンを確認)

ホスティングサーバーの設定と構成に使用するオープンソースシェル/bashスクリプトがあり、cloudflareをインストールするには、次のようにRHELバージョンをインポートします。このコマンド:

RHEL_VERSION=$(rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release) );

問題は、マイナーバージョンが存在すると、メジャーバージョンだけでなく、対応するマイナーバージョンも返されることです。上記のcmdを使用すると、次のものが返されます7.2。問題は、メジャーバージョン番号だけが必要であることです。

私はおそらく文字列の一部を得るために、その後、などをrpm -q --whatprovides redhat-release返すことを使用できると思いました。cloudlinux-release-7.2-1.el7.x86_64sedawkel7

パッケージURLを生成するときにこの文字列を使用するには、次のものが必要です。

PACKAGE_URL="http://pkg.cloudflare.com/cloudflare-release-latest.el${RHEL_VERSION}.rpm"

ベストアンサー1

メジャーバージョンコンポーネントを傍受するには:

... | grep -Eo '^[0-9]*'

-oこの拡張オプションはgrep一致する部分だけを印刷します。ここで、最初の数字の前にはドット文字が続きます。

おすすめ記事