我有一个小问题。我要创建一个新屏幕,然后自动运行echo 'You are using screen'
。我试过了,但是不起作用:
[root@test ~]# screen -S screen_name -X echo 'You are using screen'
No screen session found.
您对此有任何解决方案吗?
根据错误消息,您似乎没有尝试将echo
命令发送到该会话之前创建名为“ screen_name”的屏幕会话。请尝试以下命令序列。
首先,创建一个名为“ screen_name”的屏幕会话。为了方便起见,还请指定-d -m
选项以分离模式启动此会话,以便您可以立即继续运行更多命令,而不必脱离新的会话。
[root] screen -S screen_name -d -m
检查新会话是否确实存在:
[root] screen -ls
There is a screen on:
83216.screen_name (Detached)
1 Socket in /var/folders/k4/fdf21jn93jv5n3h5b1w9mpkm0000gp/T/.screen.
将命令发送到会话中:
[root] screen -S screen_name -X echo 'You are using screen'
执行此操作时,您不会看到任何有趣的事情,因为会话未连接到终端,但是您会注意到您没有收到错误消息。当您稍后附加到会话时,您也不会看到该echo
命令的结果,因为echo
仅在会话中弹出状态行消息,并且当您附加到会话时,该状态行将被关闭。会话。
如果您要执行的操作在附加时可见,请尝试类似的操作:
[root] screen -S screen_name -X exec cal 2 2020
然后,当您通过执行以下操作附加到会话时:
[root] screen -r screen_name
您将在屏幕会话中看到cal
命令的结果(2020年2月的日历打印输出。)>