다음 명령을 사용하여 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
되지 않습니다.