diff --git a/wireless.sh b/wireless.sh new file mode 100755 index 0000000..7ed378e --- /dev/null +++ b/wireless.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# Yigid BALABAN, +# + +control() { + local device="$1" + local subcommand="$2" + + case "$subcommand" in + off) + rfkill block "$device" && + + case $device in + bluetooth) bluetoothctl power off ;; + wifi) nmcli radio wifi off ;; + esac + ;; + on) + + rfkill unblock "$device" && sleep 1 && + + case $device in + bluetooth) bluetoothctl power on ;; + wifi) nmcli radio wifi on ;; + esac + ;; + *) + # shellcheck disable=SC2154 + echo "$command: subcommand '$subcommand' is not a valid argument." >&2 + return 1 + esac +} + +if [[ $# -ne 2 ]]; then + echo "Usage: $0 " >&2 + echo "Valid devices: bluetooth, wifi" >&2 + echo "Valid subcommands: on, off" >&2 + exit 1 +fi + +control "$1" "$2"