Existe uma maneira (de um script) para identificar o gerenciador de pacotes do sistema padrão?
Para esclarecer, o que eu quero fazer é executar um comando e, no Debian ou em qualquer um de seus derivados, ele retornará algo como "apt", no openSUSE ele retornará "zypp", no Fedora et al. "yum", no Arch Linux ele retornará "pacman" etc.
Eu sei que posso fazer isso com algo como o seguinte, apenas me perguntei se havia um método mais robusto que não quebrasse assim que houvesse um executável com o mesmo nome.
which apt >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "apt"
fi
# etc...
apt-get
.Em vez de identificar programas binários, você deve começar por identificar distribuições,
Dê apenas algumas linhas que funcionam no script bash:
Em todas essas partes não se pode confiar, mas geralmente as pessoas não fazem isso.
fonte
Optei por seguir esse caminho depois de revisar os outros. Isso surgiu para mim ao executar muitos contêineres de docker e precisar de curl / jq e não poder confiar no que estava disponível de um trabalho para outro.
fonte