脚本不运行 bluetoothctl 中的命令

脚本不运行 bluetoothctl 中的命令

我编写了一个小脚本来自动将我的蓝牙耳机连接到我的 Linux 机器。

#!/bin/bash

bluetoothctl
wait ${!}
connect XX:XX:XX:XX:XX:XX #headphone MAC address
wait ${!}
exit

该脚本将打开bluetoothctl,但不运行以下任何命令。

答案1

您可以bluetoothctl在 shell 脚本中使用命令,如下所示:

bluetoothctl -- command

或者:

echo -e "command\n" | bluetoothctl

例如:

bluetoothctl -- connect XX:XX:XX:XX:XX:XX

答案2

bluetoothctl -- pair XX:XX:XX:XX:XX:XX
sleep 10
bluetoothctl -- trust XX:XX:XX:XX:XX:XX
bluetoothctl -- connect XX:XX:XX:XX:XX:XX
sleep 5

奇迹般有效。在和之间添加“睡眠”延迟时特别有用pair,以便有时间发现和设置 BT 设备。trustconnectbluetoothctl

就像是

bluetoothctl <<EOF
pair XX:XX:XX:XX:XX:XX
sleep 10
exit
EOF

不起作用,因为sleep在 下不被识别为命令bluetoothctl

相关内容