将脚本输出重定向到 /dev/tty1 并将输出捕获到文件

将脚本输出重定向到 /dev/tty1 并将输出捕获到文件

我想在控制台上显示文本输出,该文本输出始终显示在我的 Raspberry Pi 上的小屏幕上。

以下代码用于显示文本输出:

cd /home/pi/python_test_scripts_linux && sudo nice -n -20 /home/pi/python_test_scripts_linux/test_wrapper.py > /dev/tty1

现在我想在屏幕上看到输出的同时捕获输出 - 我尝试过“tee”,但它不会在屏幕上显示文本,也不会将其捕获到文件中:

cd /home/pi/python_test_scripts_linux && sudo nice -n -20 /home/pi/python_test_scripts_linux/test_wrapper.py | tee /dev/tty1 /tmp/capture.txt

如何将脚本的输出重定向到,/dev/tty1以便我可以在屏幕上看到它,同时还将输出捕获到文件中?

更新1:

根据下面的答案 - 我尝试使用“脚本” - 不幸的是它不起作用:

script -c "cd /home/pi/python_test_scripts_linux && sudo nice -n -20 /home/pi/python_test_scripts_linux/test_wrapper.py > /dev/tty1" /home/pi/python_test_scripts_linux/report.html

更新2:

我还尝试将输出重定向到 /dev/tty1 的文件的输出,但它也不起作用:

sudo tail -F /home/pi/python_test_scripts_linux/report.html > /dev/tty1 &
cd /home/pi/python_test_scripts_linux && sudo nice -n -20 /home/pi/python_test_scripts_linux/test_wrapper.py > /home/pi/python_test_scripts_linux/report.html 

答案1

如果要保存命令的输出,请使用 script 命令

script -c "your command" /tmp/capture.txt

输出将被发送到 tty 以及 capture.txt

如果 tty1 不是您运行的控制台,您可以运行

tail -F /tmp/capture.txt 

从那个 tty 也可以得到结果。

答案2

感谢您的输入,它不适用于 Python 脚本,因为它正在缓冲输出。

这使得它可以与 tee 一起使用:

python -u ./myscript.py | tee /dev/tty1 /tmp/a.txt

相关内容