분리된 화면에 명령을 보내는 것이 작동하지 않습니다

분리된 화면에 명령을 보내는 것이 작동하지 않습니다

분리된 화면을 생성한 후 명령을 보내려고 하는데 작동하지 않는 것 같습니다.

다음 명령을 입력하면:

$ screen -ls
No Sockets found in /var/run/screen/S-ec2-user.

$ screen -dmS myscreen
$ screen -ls
There is a screen on:
    9175.myscreen   (Detached)
1 Socket in /var/run/screen/S-ec2-user.

$ screen -S myscreen -X ls

그런 다음 화면에 연결하여 명령이 실행되었는지 확인했습니다.

$ screen -r myscreen

내가 얻는 것은 아무 일도 일어나지 않은 것처럼 빈 명령줄뿐입니다.

이것이 왜 실패하는지, 화면 내에서 실제로 명령을 실행하기 위해 어떤 명령을 사용할 수 있는지 아는 사람이 있습니까?

참고: 가능하면 화면에서 분리된 상태를 유지하고 외부에서 화면으로 명령을 보내고 싶습니다. 내 계획은 자동화된 수단(예: bash 스크립트)을 사용하여 여러 화면을 실행하는 것이기 때문입니다.

답변1

마침내 이것이 작동하게 되었습니다.

보고일부 코드 샘플 screen사용, -X 매개변수는 실제 명령 앞에 단어:가 있어야 stuff하고 명령도 큰따옴표("xyz")로 묶어야 하는 것으로 보입니다.

또한 명령을 실행하려면 Enter키 입력도 함께 전송되어야 합니다. 출발특수 문자 삽입에 대한 이 기사Ctrl, + V, 를 눌러 키 입력을 입력했습니다 Enter.

명령줄은 다음과 같습니다.

$ screen -S myscreen -X stuff 'ls^M'

관련 정보