configs/random-bash.md
2023-08-22 22:12:01 -05:00

992 B

Random bash

Here's random useful bash stuff:

Check if program is installed

Checks if $1 is installed

#!/usr/bin/env bash
command_exists() { type "$1" &> /dev/null; }

if command_exists "$1"; then
    echo "$1 installed"
else
    echo "$1 not installed"
    exit 1
fi

Check which package manager is installed

#!/usr/bin/env bash
command_exists() { type "$1" &> /dev/null; }

if command_exists "apt-get"; then
    PM="apt-get"
elif command_exists "yum"; then
    PM="yum"
elif command_exists "pacman"; then
    PM="pacman"
elif command_exists "zypper"; then
    PM="zypper"
elif command_exists "emerge"; then
    PM="emerge"
elif command_exists "apk"; then
    PM="apk"
else
    >&2 echo "Unsupported: unknown package manager"
    exit 1
fi

echo "Package manager: ${PM}"

Check if root

This exits with and error message if it's run as root.

#!/bin/bash
if [ $(whoami) != "root" ]; then
    >&2 echo Rerun as non-root user
    exit 1
fi