#!/bin/sh set -- `getopt lha: "$@"` if [ $? -ne 0 ]; then echo "run $0 -h for help" 1>&2 exit 1 fi while [ "$1" != "--" ]; do case "$1" in -l) # List adapters dbus-send --system --type=method_call --print-reply --dest=org.bluez\ /org/bluez org.bluez.Manager.ListAdapters|sed -n 's/^ *string "\/org\/bluez\/\([^"]\+\)".*$/\1/p' exit 0 ;; -a) # get adapter from command line shift adapter="/org/bluez/$1" shift ;; -h) echo "Usage $0 [ -a adapter ] [ -l ] [mode]" echo "without mode argument lists mode for specified (or default) adapter" echo "with mode argument (one of connectable discoverable off) sets" echo "with -l list available adapters" exit esac done shift if [ -z "$adapter" ]; then adapter=`dbus-send --system --type=method_call --print-reply \ --dest=org.bluez /org/bluez org.bluez.Manager.DefaultAdapter |sed \ -n 's/^ *string "\([^"]\+\)".*$/\1/p'` [ -z "$adapter" ] && exit 1 fi if [ -z "$1" ]; then dbus-send --system --type=method_call --print-reply \ --dest=org.bluez $adapter org.bluez.Adapter.GetMode |sed \ -n 's/^ *string "\([^"]\+\)".*$/\1/p' else dbus-send --system --type=method_call --print-reply \ --dest=org.bluez $adapter org.bluez.Adapter.SetMode string:$1 |grep -v "method return" #|sed \ #-n 's/^ *string "\([^"]\+\)".*$/\1/p' fi