「利用可能なLSBモジュールなし」を削除します。 "lsb_release -a"のメッセージ

「利用可能なLSBモジュールなし」を削除します。 "lsb_release -a"のメッセージ

私の配布バージョンを変数に渡すことができるようにスクリプトを作成しようとしています。
次のコマンドは、結果を得るために書いたものです。

lsb_release -ar | grep -i release | cut -s -f2

不要な出力:

No LSB modules are available.
18.04

ご覧のとおり、メッセージNo LSB modules are availableは不要な部分です。
私はスクリプトがサーバー間で移植可能であることを好むので、このコマンドを使用する以外に追加のパッケージをインストールしたくありませんlsb_release -a

答え1

検索結果で偶然発見しました。次の事項はお客様のシステムに適用されませんか? @stephen-kittが提案したようにUbuntu 23.04用に更新されました。

$ lsb_release -sr 2>/dev/null
23.04

short releaseこれにより出力が提供されます。

執筆時に変数が欲しい

export RELEASE=$(lsb_release -sr 2>/dev/null)

必要なことをすべきか、それとも?

答え2

メッセージは標準エラーとして送信されるため、にリダイレクトすると/dev/nullメッセージが削除されます(で生成された他のエラーメッセージと共にlsb_release)。

lsb_release -ar 2>/dev/null | grep -i release | cut -s -f2

答え3

私のディストリビューションのバージョンを取得するためのスクリプトを作成しようとしています。

欲しいなら 簡単な解決策:

$ lsb_release -sr
22.04

lsb_releaseLinuxディストリビューションで利用できない場合:

$ (. /etc/*-release; printf '%s\n' "$DISTRIB_RELEASE";)
22.04

引用する

関連情報