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

57 lines
No EOL
992 B
Markdown

# Random bash
Here's random useful bash stuff:
## Check if program is installed
Checks if `$1` is installed
```bash
#!/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
```bash
#!/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.
```bash
#!/bin/bash
if [ $(whoami) != "root" ]; then
>&2 echo Rerun as non-root user
exit 1
fi
```