无法重定向文件的输出

无法重定向文件的输出

我正在尝试重定向输出:

 xterm -e rosrun find_object_2d print_objects_detected

到 location.txt 文件。我使用以下方法执行此操作: xterm -e rosrun find_object_2d print_objects_detected 2>&1 > /home/username/location.txt。我也尝试过 xterm -e rosrun find_object_2d print_objects_detected 2>&1 | tee -a /home/username/location.txt。这两种方法都会创建 location.txt 文件,但实际上都没有写入它。我可以在终端窗口中看到显示的信息。为什么会这样?有解决方案吗?提前致谢!

答案1

您需要将整个命令括在双引号中。如果没有双引号,您将重定向xterm命令的输出,而这本身不会执行任何操作。换句话说,您需要具体说明您要重定向的内容

演示:

xieerqi:$ xterm -e "printf hello world > /home/xieerqi/REDIR "

xieerqi:$ cat REDIR
hello
xieerqi:$ xterm -e printf hello world two > /home/xieerqi/REDIR   

xieerqi:$ cat REDIR

xieerqi:$ 

相关内容