xterm 헤더 설정이 ssh에서 작동하지 않습니다

xterm 헤더 설정이 ssh에서 작동하지 않습니다

나는 팔로우한다유닉스 시스템게시하고 라인을 추가했습니다.

trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG

.bashrc파일에 넣고 마지막 명령을 터미널 제목으로 설정합니다. 내 우분투 데스크탑에서는 잘 작동합니다.

이 줄을 Centos 서버의 .bashrc파일에 추가하고 Centos 시스템에 ssh를 추가하면 더 이상 작동하지 않습니다. SSH 클라이언트 헤더가 공백이 되고 모든 명령 후에 모든 쓰레기가 내 콘솔에 인쇄됩니다.

Last login: Sun Jun  7 21:28:29 2015 from sk-box
]2;printf "k%s@%s:%s]0;printf "k%s@%s:%s" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"[root@sk-vbox ~]# cd
]2;printf "k%s@%s:%s]0;printf "k%s@%s:%s" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"[root@sk-vbox ~]# pwd
/root
]2;printf "k%s@%s:%s]0;printf "k%s@%s:%s" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"[root@sk-vbox ~]# 

SSH를 통해 동적 헤더가 제대로 작동하도록 할 수 있습니까?

답변1

PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG

이 두 명령은 서로 간섭합니다. 이전에 실행된 명령 대신 BASH_COMMAND최종적으로 포함됩니다 . 헤더 텍스트의 닫는 태그인 백슬래시 확장 벨 문자 가 포함되어 PROMPT_COMMAND결과 가 매우 혼란스럽습니다 . 프롬프트 앞에 문자열이 표시되고 두 번째 것을 인쇄할 때 벨 소리가 납니다. 또한 .NET에서 추가 수준의 백슬래시 확장을 수행하고 있습니다 .PROMPT_COMMAND\007PROMPT_COMMAND\007BASH_COMMAND

DEBUG 트랩을 특수 문자를 인쇄하지 않는 보다 강력한 트랩으로 교체하십시오.

trap 'printf "\033]0;%s\007" "${BASH_COMMAND//[^[:print:]]/}"' DEBUG

관련 정보