我想在控制台上显示文本输出,该文本输出始终显示在我的 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