Make the install script more robust (#692)

Dont't fail is a Linux system does not provide lsb_release,
try to read the distro from /etc/os-release in this case.
This commit is contained in:
frukto 2023-02-10 20:38:18 +01:00 committed by GitHub
parent 2cec7ba677
commit ae2124a69c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -81,19 +81,14 @@ __atuin_install_ubuntu(){
__atuin_install_linux(){ __atuin_install_linux(){
echo "Detected Linux!" echo "Detected Linux!"
echo "Checking distro..." echo "Checking distro..."
if (uname -a | grep -qi "Microsoft"); then if (uname -a | grep -qi "Microsoft"); then
OS="UbuntuWSL" OS="UbuntuWSL"
elif ! command -v lsb_release &> /dev/null; then
echo "lsb_release could not be found. Falling back to /etc/os-release"
OS="$(grep -Po '(?<=^ID=).*$' /etc/os-release)" 2>/dev/null
else else
if ! command -v lsb_release &> /dev/null; then
echo "lsb_release could not be found, unable to determine your distribution"
echo "If you are using Arch Linux, please get community/lsb-release or install Atuin using pacman"
echo
__atuin_install_unsupported
fi
OS=$(lsb_release -i | awk '{ print $3 }') OS=$(lsb_release -i | awk '{ print $3 }')
fi fi
if [ "$OS" == "Arch" ] || [ "$OS" == "ManjaroLinux" ]; then if [ "$OS" == "Arch" ] || [ "$OS" == "ManjaroLinux" ]; then
__atuin_install_arch __atuin_install_arch
elif [ "$OS" == "Ubuntu" ] || [ "$OS" == "UbuntuWSL" ] || [ "$OS" == "Debian" ] || [ "$OS" == "Linuxmint" ] || [ "$OS" == "Parrot" ] || [ "$OS" == "Kali" ] || [ "$OS" == "Elementary" ] || [ "$OS" == "Pop" ]; then elif [ "$OS" == "Ubuntu" ] || [ "$OS" == "UbuntuWSL" ] || [ "$OS" == "Debian" ] || [ "$OS" == "Linuxmint" ] || [ "$OS" == "Parrot" ] || [ "$OS" == "Kali" ] || [ "$OS" == "Elementary" ] || [ "$OS" == "Pop" ]; then