Уже сейчас есть скрипт который прекрасно справляется со своей задачей. Сделан через передачу нужной команды в интерактивную программу
Полный текст скрипта:
#!/bin/sh
connect()
{
HEADPHONES_MAC=`echo devices | bluetoothctl | egrep "^Device.*JBL" | awk '{ print $2 }'`
echo connect $HEADPHONES_MAC | bluetoothctl
}
disconnect()
{
echo disconnect | bluetoothctl
}
VAL=`echo exit | bluetoothctl | grep exit | sed -r "s/\x1B\[([0-9]{1,3}((;[0-9]{1,3})*)?)?[m|K]//g" | cut -d '#' -f 1`
[ "$VAL" = "[bluetooth]" ] && connect || disconnect
Вопрос: есть ли более элегантный способ добиться того же результата? Очень не нравиться выражение подаваемое sed’у, которое убирает цвет из текстового вывода программы