명령줄을 통해 내 배포 이름을 어떻게 찾을 수 있나요?

명령줄을 통해 내 배포 이름을 어떻게 찾을 수 있나요?

CentOS Ubuntu 등과 같은 배포 이름을 출력할 수 있는 명령이 있습니까?

각 배포판에 대해 서로 다른 명령 배치를 실행하는 스크립트를 만들고 싶은데 명령을 사용하여 이와 같은 작업을 수행하는 방법을 알아야 합니다.

답변1

다음은 작업을 수행하는 쉘 스크립트 조각입니다.

# try various methods, in order of preference, to detect distro
# store result in variable '$distro'
if type lsb_release >/dev/null 2>&1 ; then
   distro=$(lsb_release -i -s)
elif [ -e /etc/os-release ] ; then
   distro=$(awk -F= '$1 == "ID" {print $2}' /etc/os-release)
elif [ -e /etc/some-other-release-file ] ; then
   distro=$(ihavenfihowtohandleotherhypotheticalreleasefiles)
fi

# convert to lowercase
distro=$(printf '%s\n' "$distro" | LC_ALL=C tr '[:upper:]' '[:lower:]')

# now do different things depending on distro
case "$distro" in
   debian*)  commands-for-debian ;;
   centos*)  commands-for-centos ;;
   ubuntu*)  commands-for-ubuntu ;;
   mint*)    commands-for-mint ;;
   *)        echo "unknown distro: '$distro'" ; exit 1 ;;
esac

오류 메시지를 인쇄하고 중단하는 것보다 명령문에서 더 유용한 기본( *) 작업을 사용할 수 있습니다.case

답변2

다음 명령을 시도해 보십시오:

cat /etc/*-release

또는

lsb_release -a

배포 이름과 버전만 찾기:

cat /etc/issue

답변3

당신은 그것을 사용할 수 있습니다 :

  • cat /etc/os-release아니면 lsb_release -a데비안의 경우
  • cat /etc/*-release또는 lsb_release -aCentOS/Ubuntu의 경우.

관련 정보