쉘 프롬프트에서 GNU Screen 세션 이름과 창 제목을 제시 할 수있는 방법이 PS1
있습니까?
답변
스크린은 일부 환경 변수를 제공합니다 ( screen
(1) 맨 페이지에서).
STY Alternate socket name.
WINDOW Window number of a window (at creation time).
“작성시”는 (창의 number
명령을 사용하여) 창 번호를 다시 매길 경우 , 쉘에 변경 사항에 대한 정보가없고 $ WINDOW는 여전히 첫 번째 창 번호와 동일 함을 의미합니다.
다음과 같은 것을 사용할 수 있습니다.
PS1='\u@\h(${STY}:${WINDOW}):\w$ '
답변
항상 정확한 화면 세션 이름을 사용합니다. 그런 다음 숫자 ID가 제거 된 화면의 STY env var (dimo414 덕분에)를 PS1에 추가 할 수 있습니다. 나는 항상 세션에 있지 않기 때문에 중괄호 또는 다른 것으로 장식하지 않습니다. 간단한 예 :
PS1='\u@\h ${STY#[0-9]*.} \w$ '
답변
나는 이것을 사용한다 :
(`echo ${STY} | sed -e 's/[0-9]*\.//g'`:${WINDOW}:`screen -Q title`)
${STY}
창 번호를 포함 하여 프로세스 번호를 제거합니다 ( “작성시”에 언급 된대로)
창 제목을 포함합니다 (에서 반환 screen -Q title
)
노트:
- 처음 실행될
screen -Q
때 리턴 키 입력을 기다립니다. - Ca CA로 창 제목을 설정 한 다음 프롬프트를 업데이트하기 위해 .profile을 제공합니다.