我创建了一个屏幕“myscreen”,在该屏幕内我导航到一个包含python文件test.py的文件夹,它只是打印一些东西。然后我分离了屏幕,现在我正在尝试向它发送命令来运行我的脚本。所以我尝试了以下命令:
screen -S myscreen -X stuff python test.py `echo -ne '\015'`
那里没有错误,但当我打开屏幕看到那里的输出时,我什么都没看到 - 屏幕是空白的。我尝试了另一种方法:我创建了一个shell文件,在那里我写道:
screen -r myscreen
python test.py
但结果是一样的,没有打印出来。两次尝试都失败的原因是什么,我该如何解决?感谢。
更新
我也试过这个不起作用:
screen -X select myscreen
screen -X readreg p <( echo python test.py )
答案 0 :(得分:0)
如果您这样做,则将命令发送到屏幕本身, 不在里面跑来跑去。
如何在终端内发送命令?
使用readreg
和paste
。在这里,我将数据从/tmp/file
发送到屏幕1:
$ screen -X select 1
$ screen -X readreg p /tmp/file
$ screen -X paste p
如果您没有包含数据的文件, 你可以使用进程替换,如:
$ screen -X readreg p <( echo python test.py )