以编程方式删除Linux命令行上的所有蓝牙设备

use*_*136 13 linux bluetooth hci bluez

我可以用hcitool或我的C程序扫描所有可用的蓝牙设备.

我可以使用它的地址和简单代理python脚本将设备配对.

我想知道我是否也可以使用hcitool,hciconfig或某种蓝牙命令删除配对设备.

我知道检测到的hci0控制器设备的信息存储在/ var/lib/bluetooth/XX:XX:XX:XX:XX:XX中,其中XX:XX:XX:XX:XX是hci控制器的地址.

这对于测试配对,连接和断开设备非常有用.

小智 18

对于使用 Ubuntu 20.04 的用户,这里是使用bluetoothctl命令的相同命令

#!/bin/bash 
for device in $(bluetoothctl devices  | grep -o "[[:xdigit:]:]\{8,17\}"); do
    echo "removing bluetooth device: $device | $(bluetoothctl remove $device)"
done
Run Code Online (Sandbox Code Playgroud)


ash*_*ish 8

bluez-test-device删除XX:XX:XX:XX:XX:XX


BЈо*_*вић 7

如果您安装了bluez-tools软件包,请运行此软件以取消配对蓝牙设备:

bt-device -r xx:xx:xx:xx:xx:xx
Run Code Online (Sandbox Code Playgroud)

xx:xx:xx:xx:xx:xx配对设备的地址在哪里.


Lev*_*glu 6

正如上面提到的ashish的回答,你可以使用bluez-test-device来删除你已经知道它的mac地址的设备.所以问题是要解析添加设备的mac地址.

使用python或c或任何你使用的,

1)列出设备;

bluez-test-device list
Run Code Online (Sandbox Code Playgroud)

并解析输出并获取设备的所有MAC地址,将它们添加到列表中.

2)断开并移除设备;

bluez-test-device disconnect <MAC ADDRESS>
bluez-test-device remove <MAC ADDRESS>
Run Code Online (Sandbox Code Playgroud)


小智 6

使用bluetoothctl二进制文件的命令:for device in $(bluetoothctl devices | grep -vEi '(o que mais vc quer deixar aqui|samsung|jbl|wireless)' | awk '{print $2}'); do bluetoothctl remove $device; done