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...]

관련 정보