Commit | Line | Data |
---|---|---|
1 | #! /bin/bash | |
2 | ||
3 | _get() { | |
4 | sudo ddcutil getvcp 10 | grep -o ' current value = \+[0-9]\+' | awk '{print $4}' | |
5 | } | |
6 | ||
7 | _set() { | |
8 | sudo ddcutil setvcp 10 "$1" | |
9 | } | |
10 | ||
11 | args="$*" | |
12 | ||
13 | case "$args" in | |
14 | '') _get;; | |
15 | *) | |
16 | if [[ "$args" =~ ^[0-9]+$ && "$args" -gt -1 && "$args" -lt 101 ]]; then | |
17 | _set "$args" | |
18 | else | |
19 | printf 'Error: expected a numeric argument between 0 and 100, but given "%s"\n' "$args" >&2 | |
20 | exit 1 | |
21 | fi | |
22 | esac |