tmux 상태 표시줄의 무한 루프 쉘 스크립트

tmux 상태 표시줄의 무한 루프 쉘 스크립트

나는 썼다배쉬 스크립트tmux 상태 표시줄에 cmus 상태를 표시합니다. 한동안 작동했지만 최근 데비안 9를 다시 설치한 후 tmux는 <'path/cmus-status.sh' not ready>cmus 대신 상태를 표시합니다. 스크립트를 실행하기 위해 ~/.tmux.conf에 다음을 추가했습니다.

set -g status-right '... #(path/cmus-status.sh) ...'

~에서이 스레드문제는 tmux가 스크립트 실행을 "미완성"으로 간주하고 출력을 표시하기 전에 완료될 때까지 기다리는 것일 수 있다는 것을 알게 되었습니다. 그러나 스크립트는 무한 while루프이므로 중지할 의도가 없습니다.

이것이 원인이라면 스크립트가 완료될 때까지 기다리지 않고 출력되는 내용만 표시하도록 tmux에 지시하는 방법이 있습니까? 아니면 이것이 tmux 버전 관련 문제에 더 가깝습니까?

답변1

나는 내가 가지고 있는 tmux 2.3과 2.6으로 테스트했는데, 최신 버전은 무한 명령으로 업데이트되는 것처럼 보이지만 이전 버전은 그렇지 않습니다. CHANGES 파일에서 볼 수 있듯이 최소한 2.5가 필요한 것 같습니다.

2.4에서 2.5로 변경, 2017년 5월 9일

#() 명령이 종료되지 않으면 명령을 계속 읽고 출력의 마지막 전체 행을 사용하십시오.

관련 정보