我正在尝试自动将我的耳机与我的 ubuntu16 机器配对。
我拿了这个漂亮的脚本并尝试了它,但它不起作用。我玩了一会儿,发现我可以使用这个最小的脚本:
#!/usr/bin/expect -f
set prompt '#'
set address [lindex $argv 0]
spawn bluetoothctl &> /dev/null
expect -re $prompt
send "\nconnect <my_mac_addr>\r"
sleep 10
我将它保存为 ./bluetooth.sh 并使用 ./bluetooth.sh & 运行它,它就像一个魅力。但是,我得到了这个烦人的bluetoothctl
输出:
[NEW] Controller *** ### [default]
[NEW] Device *** A
[NEW] Device *** B
[NEW] Device *** C
[bluetooth]#
我尝试使用添加到 spawn 命令的重定向将其删除,但正如您所见,它没有帮助...
删除expect
会工作,但我不确定这是要走的路......
您实际上不需要使用
expect
并且可以bluetoothctl
直接将命令作为参数。对于更完整的示例,这是我在 Ubuntu 20.04 中为我的 BT 收音机使用的完整 Bash 脚本:
这当然假设目的地
$mac
已经配对。捕获输出并去除提示...