逐行打印SSH输出,而不是一次打印所有内容

时间:2018-11-22 23:15:51

标签: python bash shell ssh

假设我在01.23.456.789拥有一台服务器,然后运行以下命令:

ssh 01.23.456.789 "python3 -c 'import time; print(1); time.sleep(10); print(2);'"

它会在1秒后同时同时打印210 。有什么方法可以立即获取单个输出,因此我将打印1,等待10秒,然后打印2

1 个答案:

答案 0 :(得分:1)

Python缓冲其输出。您必须以某种方式从python内部或使用stdbuf -oL从外部刷新缓冲区。您还可以使用python3 -u自动刷新print

ssh 01.23.456.789 "python3 -uc 'import time; print(1); time.sleep(10); print(2);'"