![当我在屏幕内运行 ptpython 并且可能由于自动完成而导致屏幕混乱时,如何修复屏幕?](https://linux22.com/image/219329/%E5%BD%93%E6%88%91%E5%9C%A8%E5%B1%8F%E5%B9%95%E5%86%85%E8%BF%90%E8%A1%8C%20ptpython%20%E5%B9%B6%E4%B8%94%E5%8F%AF%E8%83%BD%E7%94%B1%E4%BA%8E%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E8%80%8C%E5%AF%BC%E8%87%B4%E5%B1%8F%E5%B9%95%E6%B7%B7%E4%B9%B1%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%E5%B1%8F%E5%B9%95%EF%BC%9F.png)
所以,我正在运行这个命令
os.system(f"screen -S Uploader -d -m bash -c 'bash uploader.sh 2>&1 | tee uploader_log'")
。
Uploader.sh 依次运行正常显示的 python 脚本。但是,它会from ptpython.repl import embed; embed(globals(), locals())
在收到 IndexError 时运行。因此,在出现错误之前,它显示得很好,但它遇到了错误,现在显示得很奇怪,如图所示。
有办法解决吗?我猜它与 ptpython 自动完成功能有关?我可以执行 os.system('touch test') 并且它从 repl 中执行得很好。只是它的显示让我烦恼。
作为旁注,screen -S test -d -m bash -c 'python3.12 -c "from ptpython.repl import embed; embed(globals(), locals())"'
工作正常。
但是,screen -S test -d -m bash -c 'bash test.sh 2>&1 | tee log'
当 test.sh 包含时显示很奇怪python3.12 -c 'from ptpython.repl import embed; embed(globals(), locals())'