为什么这个 shell 输出无法写入文件?

为什么这个 shell 输出无法写入文件?

我正在编写一个 Linux pinephone 脚本,该脚本将启动触摸板模拟器。为此,我需要比较以下内容的输出字符串:

./TouchpadEmulator /dev/input/event2 /dev/input/event1

一旦我按下 Enter 键,终端就会显示

max x:719 max y:1439

并且终端保持打开状态,不显示任何命令提示符,这意味着代码继续在后台运行。

我的问题是,我试图将这个“max x:719 max y:1430”输出到某个变量、某个文件,或者作为下一个命令的参数。

我尝试过类似的东西

./TouchpadEmulator /dev/input/event2 /dev/input/event1 > textfile.txt

但 textfile.txt 仍然是空的。

我也尝试过

echo $(./TouchpadEmulator /dev/input/event2 /dev/input/event1)

但终端屏幕仍然空白。

我的猜测是,由于该命令一直在后台运行,因此 echo 永远不会执行,因为它会等到“./TouchpadEmulator ...”完全执行。

答案1

可能是写入 STDERR,而不是 STDOUT。

仅使用 重定向 STDERR 2> textfile.txt

man bash

相关内容