![将脚本输出重定向到 /dev/tty1 并将输出捕获到文件](https://linux22.com/image/5261/%E5%B0%86%E8%84%9A%E6%9C%AC%E8%BE%93%E5%87%BA%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20%2Fdev%2Ftty1%20%E5%B9%B6%E5%B0%86%E8%BE%93%E5%87%BA%E6%8D%95%E8%8E%B7%E5%88%B0%E6%96%87%E4%BB%B6.png)
我想在控制台上显示文本输出,该文本输出始终显示在我的 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