적절한 목록에서 오류가 발생하지 않도록 방지

적절한 목록에서 오류가 발생하지 않도록 방지

다음 명령을 사용하여 bash 스크립트에 패키지가 설치되어 있는지 감지하려고 하는데 스크립트에서 계속 오류가 발생하고 이후에는 아무것도 실행되지 않습니다.

apt패키지가 목록에 없을 때 오류가 발생하지 않도록 하는 옵션이 있습니까 ?

pkgExists=$(apt list "azure-cli" | grep "azure-cli" -s)

답변1

패키지가 목록에 없으면 apt list패키지를 표시 Listing... Done하고 종료하세요. 그러나 이전처럼 출력을 파이프하려고 하면 명시적인 경고가 표시됩니다.

경고: apt에는 안정적인 CLI 인터페이스가 없습니다. 스크립트에서는 아껴서 사용하세요.

대신 을(를) 사용하세요 dpkg-query --list. 예를 들면 다음과 같습니다.

dpkg-query --list "azure-cli" && echo "exists" || echo "doesn't exist"

제거된 패키지는 표시 dpkg-query --list되지 않습니다.

관련 정보