
내 .screenrc 파일에는 하나의 화면 창을 여는 다음 줄이 있습니다.
screen -t "normal"
그리고 다음 줄은 다른 창을 열고 맨 위로 실행됩니다.
screen -t "top" top
df && ls -alh
그것들은 잘 작동하므로 즉시 세 번째 창에서 실행하고 싶었 으므로 다음 줄을 .screenrc에 배치했습니다.
screen -t "df" df && ls -alh
df 창이 전혀 나타나지 않아서 &&가 문제의 원인일 수 있다고 생각하고 df만으로 시도했습니다.
screen -t "df" df
df 창이 여전히 나타나지 않습니다.
질문: screenrc를 통해 동일한 화면 창에서 한 명령을 실행한 후 다른 명령을 실행하려면 어떻게 해야 합니까? bash에서와 똑같이 작동하고 싶습니다. 어떤 조언이라도 감사드립니다.
답변1
아마도 나타날 수도 있지만 실행 후에는 사라집니다.
다음을 시도해 보세요:
screen -t "df" bash -c 'df && sleep 50'
df
그러면 몇 초 동안 명령 의 출력이 표시됩니다 50
.
유용한 출력을 얻으려면 df
다음을 사용하는 것이 좋습니다 watch
.
screen -t "df" watch -n 10 df
이는 df
10초마다 실행되므로 해당 터미널의 사용 가능한 디스크 공간의 실제 상태를 알 수 있습니다.
답변2
오래된 질문이지만 가장 명확하다고 생각되는 답변 이전에 검색 결과에 표시되었습니다.여기.
나에게 도움이 된 몇 가지 솔루션은 다음과 같습니다.
screen -t Files zsh -c 'ls -lahG; exec zsh'
내 .screenrc 파일에서 'exec zsh'는 'ls' 명령/프로세스가 완료된 후 영역 내 창에서 다른 명령 프롬프트를 엽니다(GNU 화면의 창에서 셸에 수동으로 명령을 입력하는 동작과 유사). ; 나는 이것이 'sleep' 명령을 실행하는 것보다 더 효율적이라고 가정하고 있지만, 내가 틀렸다면 정정해 주시면 감사하겠습니다.
screen -t Files zsh -c 'vim .'
위의 내용은 'ls'를 사용하는 특정 경우에 적용됩니다.