Prüfen Sie, ob ein apt-get-Paket installiert ist und installieren Sie es dann, wenn es nicht auf Linux?

Arbeite ich auf einem Ubuntu-system und aktuell dies ist, was ich Tue:

if ! which command > /dev/null; then
   echo -e "Command not found! Install? (y/n) \c"
   read
   if "$REPLY" = "y"; then
      sudo apt-get install command
   fi
fi

Ist es das, was die meisten Menschen tun würden? Oder gibt es eine elegantere Lösung?

  • Befehl Namen, die nicht unbedingt den Namen des Pakets Sie sind zu gehören. Was ist, du bist in größeren Ziel? Warum gehst du nicht einfach versuchen, es zu installieren, und schlimmsten Fall wird es nicht, da es bereits installiert ist.
  • Glücklicherweise apt-get install ist idempotent, so ist es sicher zu laufen, nur Sie und keine sorgen über, ob es installiert ist oder nicht.
  • der Kommentar sollte eine Antwort, dass würde die meisten Stimmen erhalten.
  • Antwort gemacht.
  • Verwandte, die Sie verwenden sollten command -v <command>; nicht which <command>. Siehe auch Überprüfen Sie, ob ein Programm existiert, aus einem Bash-Skript.
  • Nicht ganz; laufende install auf ein bereits installiertes Paket aktualisieren Sie es, wenn es out-of-date. In der Regel wünschenswert zu halten up-to-date für die Sicherheit, aber könnte überraschend sein, wenn Stabilität erwünscht ist.
  • Das ist ein sehr guter Punkt @Izkata

InformationsquelleAutor John Jiang | 2009-08-19
Schreibe einen Kommentar