나는 간단한 요구 사항이 있습니다. 쉘 스크립트를 통해 설치하려는 지정된 수의 패키지에 해당하는 여러 변수를 정의하고 싶습니다.
아래 샘플 코드 :
MISC="shutter pidgin"
WEB="apache2 mongodb"
for pkg in $MISC $WEB; do
if [ "dpkg-query -W $pkg | awk {'print $1'} = """ ]; then
echo -e "$pkg is already installed"
else
apt-get -qq install $pkg
echo "Successfully installed $pkg"
fi
done
모든 것이 작동하지만 논리는 내가 원하는 패키지를 안정적으로 설치하지 않기 때문에 결함이있는 것 같습니다. 이미 설치되었거나 이전에 이미 설치 한 패키지를 설치하려고합니다.
나는 또한 command -v다음과 같이 노력했다 .
if [ "dpkg -l | awk {'print $2'} | grep --regexp=^$pkg$ != """ ]; then
그리고 -nand -z플래그를 사용하여 반환 된 문자열이 비어 있는지 확인하십시오. 여기에 좋은 감각이 빠져 있습니다.
패키지가 실제로 설치되었는지 확인하기 위해 무엇을 할 수 있는지 알고 있습니까?
감사!
apt-get install설치된 패키지 를 요청하면 어떤 피해가 있습니까? 당신은 그냥 전화 할 수 있습니다apt-get install $MISC $WEB.