我正在尝试重定向输出:
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:$