J. Doe Asked: 2020-05-06 13:07:41 +0800 CST2020-05-06 13:07:41 +0800 CST 2020-05-06 13:07:41 +0800 CST 如何在 bash 中编写此操作? 772 我想创建并执行 .sh 脚本,通过它我可以触发蓝牙连接配对我的 AirDots。 命令是bluetoothctl 但我想要一个脚本,命令将首先执行bluetoothctl,然后connect XX:XX:XX:XX:XX:XX。 先感谢您。 command-line bash bluetooth 18.04 2 个回答 Voted glenn jackman 2020-05-06T13:20:03+08:002020-05-06T13:20:03+08:00 你会做类似的事情 #!/bin/sh # find the MAC address of the device macaddr=$( bluetoothctl | awk '/AirDots/ {print $3}' ) # and connect them connect "$macaddr" 将其保存到 PATH (可能$HOME/bin)目录中的文件中并使其可执行。 如果您有其他想要连接的设备,它可以更通用,这样“AirDots”就不会被硬编码。 尝试 #2 - 通常 CLI 程序允许您在命令行上指定命令。看来这是其中之一。 #!/bin/sh macaddr=$( bluetoothctl devices | awk '/AirDots/ {print $2}' ) bluetoothctl connect "$macaddr" 请注意,我的树莓派在地下室,没有配对或可用的蓝牙设备。 Best Answer J. Doe 2020-05-06T15:02:05+08:002020-05-06T15:02:05+08:00 为我自己的问题找到了解决方案。 也许它对某人有用。 要连接到特定设备: echo -e 'power on\nconnect 1C:52:16:A5:86:18\t \nquit' | bluetoothctl 但是如果有蓝牙设备关闭 sudo systemctl start bluetooth 全面的: #!/bin/bash sudo systemctl start bluetooth sleep 2 echo -e 'power on\nconnect [Mac-address] \t \nquit' | bluetoothctl
你会做类似的事情
将其保存到 PATH (可能
$HOME/bin
)目录中的文件中并使其可执行。如果您有其他想要连接的设备,它可以更通用,这样“AirDots”就不会被硬编码。
尝试 #2 - 通常 CLI 程序允许您在命令行上指定命令。看来这是其中之一。
请注意,我的树莓派在地下室,没有配对或可用的蓝牙设备。
为我自己的问题找到了解决方案。
也许它对某人有用。
要连接到特定设备:
echo -e 'power on\nconnect 1C:52:16:A5:86:18\t \nquit' | bluetoothctl
但是如果有蓝牙设备关闭
sudo systemctl start bluetooth
全面的:
#!/bin/bash sudo systemctl start bluetooth sleep 2 echo -e 'power on\nconnect [Mac-address] \t \nquit' | bluetoothctl