다음은 코드의 링크에서 대부분 복사된 현재 .screenrc 파일입니다.
#First iteration 2014-09-06, not quite sure of stuff to add
# got a fancy hardstatus line noted below
hardstatus on
hardstatus alwayslastline
# hardstatus string "%w"
# blagged this hardstatus like from https://bbs.archlinux.org/viewtopic.php?id=55618, not quite sure what it does
hardstatus string '%{= kG}%{C}Screen: %{c}%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{C} %d-%m %{W}%c %{g}]'
이제 세션 이름도 여기에 표시되기를 원합니다. 내가 식별한 이름은 이 답변에서 나온 것입니다.https://superuser.com/questions/212392/how-to-include-screens-session-name-in-hardstatus/212520#212520
솔루션은 다음 아이디어를 따릅니다.
hardstatus string '%H:%`'
backtick 0 30 30 sh -c 'screen -ls | grep --color=no -o "$PPID[^[:space:]]*"'
backtick
이것은 나에게 생소한 영역이며 이 명령이 여기에 어떻게 적용되는지, 즉 screen
명령인지 알고 싶습니다 .
답변1
당신은 확인할 수 있습니다이것man
또는 어떤 페이지가 screen
좋은 참조인지 확인하고 다음과 같이 말할 수도 있습니다.
백틱ID 수명 주기는 자동으로 cmd 매개변수를 새로 고칩니다.
백틱ID숫자 ID를 사용하여 백틱 명령을 작성합니다. 이러한 명령의 출력은 "%`" 문자열 이스케이프 문자를 바꾸는 데 사용됩니다.
lifespan
출력이 유효한 것으로 간주되는 시간(초)이 지정 됩니다. 이 시간 이후에 해당 문자열 이스케이프가 발생하면 명령이 다시 실행됩니다. 이autorefresh
매개변수는 지정된 시간(초) 후에 제목 및 하드 상태 문자열의 자동 새로 고침을 트리거합니다. 출력의 마지막 줄만 교체에 사용됩니다. 및 인수가 모두 0
이면 백틱 프로그램은 백그라운드에 머물며 가끔 출력을 생성할 것으로 예상됩니다. 이 경우 명령이 즉시 실행되고 출력의 마지막 줄이 화면에 저장됩니다. 새 줄이 인쇄되면 화면은 자동으로 하드 상태나 제목을 새로 고칩니다. 이 명령의 두 번째 형식은 숫자 ID가 있는 백틱 명령을 제거합니다.lifespan
autorefresh
귀하의 예를 바탕으로 다음을 추가할 수 있습니다.
hardstatus string '%H:%1` | %2`'
backtick 1 30 30 sh -c 'screen -ls | grep --color=no -o "$PPID[^[:space:]]*"'
backtick 2 60 60 /usr/bin/uptime