57 lines
992 B
Markdown
57 lines
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
|
||
|
```
|