Gibt es eine Möglichkeit (aus einem Skript), den Standard-Systempaket-Manager zu identifizieren?
Zur Verdeutlichung möchte ich einen bestimmten Befehl ausführen und auf Debian oder einem seiner Derivate wird so etwas wie "apt" zurückgegeben, auf openSUSE wird "zypp" zurückgegeben, auf Fedora et al. Wird es zurückgegeben "yum", unter Arch Linux wird "pacman" usw. zurückgegeben.
Ich weiß, dass ich dies mit so etwas wie dem folgenden tun kann. Ich habe mich nur gefragt, ob es eine robustere Methode gibt, die nicht funktioniert, sobald es eine ausführbare Datei mit demselben Namen gibt.
which apt >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "apt"
fi
# etc...
apt-get
.Anstatt binäre Programme zu identifizieren, sollten Sie mit der Identifizierung von Distributionen beginnen.
Geben Sie nur einige Zeilen an, die in Bash-Skripten funktionieren:
Obwohl diesen Teilen nicht vertraut werden kann, werden die Leute das im Allgemeinen nicht tun.
quelle