소프트웨어가 제대로 설치되지 않은 경우 스크립트가 어떻게 종료됩니까?

소프트웨어가 제대로 설치되지 않은 경우 스크립트가 어떻게 종료됩니까?

링크에서 아이디어를 얻었어요(응용 프로그램 설치 셸 스크립트를 어떻게 작성합니까?) 우분트에 자동으로 소프트웨어를 설치하기 위한 스크립트를 작성하기 시작했습니다. 그러나 소프트웨어가 제대로 설치되지 않는 경우 스크립트가 제대로 설치되지 않았다는 메시지를 표시하거나 마지막으로 어떤 소프트웨어가 제대로 설치되지 않았는지 요약을 제공해야 합니다. 어떻게 이를 달성할 수 있나요?

아래는 제가 작성하기 시작한 스크립트입니다.

apt-get update
apt-get install -f 
for software in vim linphone linphone-common linphone-nox git dpkg-dev
do 
    apt-get install $software -y
done

답변1

APT는 설치에 실패하면 0이 아닌 값을 반환합니다.
apt의 반환 값은 전역 변수에 저장됩니다. $? 해당 변수를 사용하여 설치 실패를 감지할 수 있습니다. 예:

sudo apt-get update

for software in vim linphone linphone-common linphone-nox git dpkg-dev
do 
   sudo apt-get install $software -y

   if [ $? -ne 0 ]  #If apt returns an error, do the following...
   then
       echo "ERROR($?):Failed to install $software"
       echo "Exiting installation..."
       break
   fi 
done

관련 정보