내가 체크인하면화면현재 실행 중인 작업(ctrl/a + "
)에 대해 다음을 얻습니다.
Num Name
0 -bash
1 -bash
2 -bash
...이것은 정확합니다. 일반적으로 내 모든 화면 창에서 bash가 실행 중입니다. 그러나 이것은 내가 보고 싶은 것이 아니다. 이 창에서 실제 실행된 명령을 보고 싶습니다. ssh-ing, rsync-ing 또는 빌드 스크립트 실행 등 무엇이든 될 수 있습니다.
Num Name
0 ssh to@this
1 rsync this./ [email protected]:/path
2 make world
지금 내가 생각하는 가장 좋은 생각은 새로운 명령을 실행할 때마다 bash가 어떻게든 화면 프로세스와 대화하고 그 순간에 무슨 일이 일어나고 있는지 이해해야 한다는 것입니다. 예를 들어 Unix 파이프의 데이터그램 메시지입니다. 아마도 이것은 달성하기 쉽지 않을 것입니다.
적어도 비슷한 것을 얻을 수 있는 것이 있나요?
답변1
짧은 답변:
다음 줄을 추가하십시오.
$HOME/.bashrc
4case "$TERM" in screen*) PROMPT_COMMAND='printf "\ek\e\\\\"' esac
다음 줄을 추가하세요
$HOME/.screenrc
shelltitle '$ | bash'
설명하다:
screen
"<search pattern>|<window name>"
창 이름 과 <ESC>k<ESC>\
프롬프트의 일부로 시퀀스를 설정하여 활성화되는 쉘별 경험적 방법이 있습니다.2.
<ESC>k<ESC>\
화면은 이전 명령 이름을 지우고 다음 명령을 준비하는 데 사용됩니다 . 셸에서 개행 문자를 받으면 프롬프트의 끝을 검색합니다. screen
일치하는 문자열 뒤의 첫 번째 단어를 가져와 명령 이름으로 사용합니다.
프롬프트의 일부로 PROMPT_COMMAND='printf "\ek\e\\\\"'
설정하는 데 사용됩니다 . 하위 명령( 여기에서는 작동하지 않음) 을 <ESC>k<ESC>\
사용하여 추가하여 기본 창 제목을 설정합니다.shelltitle
title
shelltitle '<end of prompt>|<default window name>'
새 구성을 로드한 후에는 windowlist
실행 중인 명령이 표시되어야 합니다 .
2. screen
동적 제목:https://www.gnu.org/software/screen/manual/html_node/Dynamic-Titles.html#Dynamic-Titles
4. 유사한 게시물:https://superuser.com/questions/244299/gnu-screen-how-to-update-dynamically-the-title-of-a-window
5.예 shelltitle
:https://www.gnu.org/software/screen/manual/html_node/Title-Screenrc.html
추가:
3. 정보 PROMPT_COMMAND
:https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html