다음 c-쉘 스크랩을 고려해보세요.
[<my-user>@<my-host> ~]>echo $SHELL
/bin/csh
\033]30;<my-host-name>\007\c
[<my-user>@<my-host> ~]>set | grep prompt
prompt [%n@%m %~]%#
prompt2 %R?
prompt3 CORRECT>%R (y|n|e|a)?
\033]30;<my-host-name>\007\c
[<my-user>@<my-host> ~]>
\033]30;<my-host-name>\007\c
(무고한 사람을 보호하기 위해 사용자 및 호스트 신원을 마스킹함)
\033]30;<my-host-name>\007\c
각 줄 뒤의 내용이 어디서 왔는지, 어떻게 없애는지 모르겠습니다 .
$prompt* 변수를 설정 해제하고 .csh* 파일에서 인터넷 검색 및 greping을 수행해도 답변이 나오지 않았습니다.
어떤 아이디어가 있나요?
답변1
@stefanchazeras님의 댓글이 답을 주었어요.
오류는 실제로 precmd
별칭에 있습니다.
precmd echo '\033]30;<my-host-name>\007\c'
앨리어싱을 해제하면 분명히 문제가 있는 선이 사라지고 거기에서 더 깊이 들어가는 것이 쉽습니다.
에서 man csh
:
자동, 정기 및 시간 이벤트(+)
이것경고음 명령,CWD 명령,주기적,사전 명령,포스트 명령, 그리고작업 명령쉘이 벨을 울릴 때, 작업 디렉토리가 변경될 때, 매 t기간 분마다, 각 프롬프트 전에 명령을 실행하도록 특수 별칭을 설정할 수 있습니다.각 명령을 실행하기 전에, 각 명령이 실행된 후, 작업이 시작되거나 포그라운드로 나타날 때.
감사해요.