我正在使用一个C API来通过bluetoothctl管理我的蓝牙。它通过使用如下命令工作:

./BT_API connect $2 | bluetoothctl > /tmp/BT_TMP

所有内容都存储在/tmp/BT_tmp中,但在屏幕上显示。我试着用下面的命令
./BT_API connect $2 | bluetoothctl 2>&1 /tmp/BT_TMP

但现在屏幕上显示了所有内容,但没有创建文件/tmp/BT_tmp。

最佳答案

使用tee,将stdin重定向到文件和stdout:

./BT_API connect $2 | bluetoothctl 2>&1 | tee /tmp/BT_TMP

09-11 22:59