如何在 bash 中编写此操作?

如何在 bash 中编写此操作?

我想要创建并执行 .sh 脚本,通过该脚本我可以触发蓝牙连接并配对我的 AirDots。

命令是bluetoothctl 在此处输入图片描述

但我想要一个脚本,其中的命令首先执行bluetoothctl,然后connect XX:XX:XX:XX:XX:XX

先感谢您。

答案1

你会这样做

#!/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"

请注意,我的树莓派在地下室,没有配对或可用的蓝牙设备。

答案2

找到了我自己的问题的解决方案。

也许它对某些人有用。

要连接到特定设备:

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

相关内容