checkpackage.sh
Dieses Snippet prüft, ob System-Packages installiert sind. Kann auf mehreren Distros verwendet werden: Debian, Red Hat, Arch, OpenSUSE und alle Derivate davon.
Der Rückgabewert ist 0 (true) oder 1 (false).
$0 wget
if [ "$(bash lib/checkpackage.sh wget)" = "0" ]; then
echo "installiert"
else
echo "nicht installiert"
fi
Script:
#!/bin/bash
if [ -f /etc/debian_version ]; then
# Debian-based
if dpkg -s "$1" &> /dev/null; then
echo "0"
else
echo "1"
fi
elif [ -f /etc/redhat-release ]; then
# Red Hat-based
if rpm -q "$1" &> /dev/null; then
echo "0"
else
echo "1"
fi
elif [ -f /etc/arch-release ]; then
# Arch-based
if pacman -Qi "$1" &> /dev/null; then
echo "0"
else
echo "1"
fi
elif [ -f /etc/SuSE-release ]; then
# openSUSE
if zypper se --installed-only "$1" &> /dev/null; then
echo "0"
else
echo "1"
fi
else
echo "Unsupported Linux distribution"
exit 1
fi
exit 0