英国电信上海分公司

#!/bin/bash

echo -e 'scan on\n'
sleep 2
echo -e 'devices\n'
echo -e 'quit\n'

如果我将上述文件管道化到bluetoothctl,它将按预期工作。
# ./bt.sh  | bluetoothctl

但是,作为一个内联脚本,我如何做到这一点,我尝试了以下操作,但它不起作用,bluetoothctl似乎没有注册命令:
echo -e 'scan on' | bluetoothctl && sleep 2 && echo -e 'devices\n' | bluetoothctl && echo -e 'quit\n' | bluetoothctl;

最佳答案

使用命令列表:

{   printf 'scan on\n\n'
    sleep 2
    printf 'devices\n\n'
    printf 'quit\n\n'
} | bluetoothctl

请注意,必须在列表中的每个命令之后添加换行符或分号。

关于linux - Bash内联版本的管道文件到bluetoothctl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54443399/

10-11 14:04