英国电信上海分公司
#!/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/