#!/bin/bash CFG="$HOME/.config/obt.conf" # ensure config file exists mkdir -p "$(dirname "$CFG")" [[ -e $CFG ]] || touch "$CFG" read -r ADDR < "$CFG" init() { # save address if not set and argument is not a command if [[ -z $ADDR && $1 != c && $1 != d ]]; then ADDR=$1 echo "$ADDR" > "$CFG" fi echo "trusting..." bluetoothctl trust "$ADDR" echo "pairing..." bluetoothctl pair "$ADDR" echo "done!" } connect() { bluetoothctl connect "$ADDR" } disconnect() { bluetoothctl disconnect "$ADDR" } usage() { echo "usage:" echo " $0 # pair + trust + save" echo " $0 c # connect" echo " $0 d # disconnect" exit 1 } [[ $# -eq 0 ]] && usage case "$1" in c) [[ -z $ADDR ]] && echo "no saved address" && exit 1 connect ;; d) [[ -z $ADDR ]] && echo "no saved address" && exit 1 disconnect ;; *) init "$1" ;; esac