Apakah ada cara (dari skrip) untuk mengidentifikasi manajer paket sistem default?
Untuk memperjelas, apa yang ingin saya lakukan adalah menjalankan perintah yang diberikan dan, pada Debian atau turunannya, ia akan mengembalikan sesuatu seperti "apt", pada openSUSE ia akan mengembalikan "zypp", pada Fedora et al ia akan kembali "yum", di Arch Linux ia akan mengembalikan "pacman" dll.
Saya tahu saya bisa melakukan ini dengan sesuatu seperti berikut ini, saya hanya bertanya-tanya apakah ada metode yang lebih kuat yang tidak akan rusak segera setelah ada executable dengan nama yang sama.
which apt >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "apt"
fi
# etc...
apt-get
.Alih-alih mengidentifikasi program biner, Anda harus mulai dari mengidentifikasi distribusi,
Berikan beberapa baris yang berfungsi dalam bash scripting:
Secara keseluruhan, bagian-bagian ini tidak dapat dipercaya, tetapi umumnya orang tidak akan melakukannya.
sumber
Saya memilih untuk pergi dengan rute ini setelah meninjau yang lain. Ini muncul bagi saya ketika menjalankan banyak kontainer buruh pelabuhan dan membutuhkan curl / jq dan tidak dapat mengandalkan apa yang tersedia dari pekerjaan ke pekerjaan.
sumber