내 배포 버전을 변수에 전달할 수 있도록 스크립트를 작성하려고 합니다.
다음 명령은 결과를 얻기 위해 작성한 것입니다.
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_release
Linux 배포판에서 사용할 수 없는 경우:
$ (. /etc/*-release; printf '%s\n' "$DISTRIB_RELEASE";)
22.04