freebsd-version(またはuname)からFreeBSDメジャーバージョンを抽出するには?

freebsd-version(またはuname)からFreeBSDメジャーバージョンを抽出するには?

freebsd-version場合によっては、freebsdパッケージ(メジャーバージョンごとに構成)を手動でダウンロードしてそれを取得するためのスクリプトを作成する必要があります。とを使用してFreebsdメジャーバージョンを抽出する方法はありますかsed

答え1

オプションで、切るひも

shell> uname -r
13.0-RELEASE
shell> export FREEBSD_MAJOR_VERSION=`uname -r | cut -d . -f 1`
shell> echo $FREEBSD_MAJOR_VERSION
13

答え2

バージョンの形式がfreebsd-version次の点12.2-RELEASE-p14を考慮して、最初のピリオド()とそれに続く範囲をsed選択して置き換え()し、null()で置き換えることができます。s/\..*//

FREEBSD_MAJOR_VERSION=`freebsd-version | sed 's/\..*//'`

その後、スクリプトで使用できます(パッケージのダウンロードなど)。

wget http://pkg.freebsd.org/freebsd:${FREEBSD_MAJOR_VERSION}:x86:64/[...rest of url...]

関連情報