我正在编写一个 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
。