광산에 다음 명령을 추가했습니다 ~/.tcshrc
.
echo "\033]0;${PROJECT_NAME}\007"
less
새로 열린 명령이 gnome-terminal
제대로 작동하지 않았습니다. 그러나 more
명령은 영향을 받지 않습니다.
less
명령을 실행하려고 하면 다음과 같은 내용이 표시됩니다 .
less log
ESC]0;MYPROJ^G
log (END)
답변1
파이프 또는 유사한 스크립트를 통해 출력을 파이프 less
하도록 구성할 수 있습니다 . 환경 변수 및/또는 해당 설정 lesspipe
이 파일에 사용된 경우 이러한 현상이 발생할 수 있습니다 . 출력이 파이프 데이터와 혼합되어 혼란을 야기합니다.LESSOPEN
LESSCLOSE
~/.lesskey
~/.tcshrc
~/.tcshrc
TTY 없이 쉘에 대해 실행될 때 추가한 명령을 실행하고 있는 것 같습니다 . 이로 인해 발생한 문제가 발생하고 다른 많은 명령에 문제가 발생할 수도 scp
있습니다 rsync
.화면 출력을 생성하는 명령을 사용자 또는 유사한 쉘 시작 스크립트에 추가하는 경우 .tcshrc
명령이 대화형으로 및/또는 TTY가 있는 세션에서만 실행되도록 항상 명령을 조건부로 만들어야 합니다.
이 문제를 해결하는 가장 쉬운 방법은 출력을 다음 ~/.tcshrc
으로 제한하는 것입니다.인터렉티브쉘 세션에만 해당됩니다. 쉘 프롬프트가 표시됩니다. 출력을 조건부로 만들어 이를 수행할 수 있습니다. 즉, 추가한 한 줄을 다음 .tcshrc
으로 바꾸면 됩니다.
if ($?prompt) then
echo "\033]0;${PROJECT_NAME}\007"
fi
사용자 정의 프롬프트를 설정하기 전에 이를 추가하세요.
또 다른 접근 방식은 먼저 TTY의 유효성을 자동으로 테스트하는 것입니다.
tty -s && echo "\033]0;${PROJECT_NAME}\007"