Prompt
csh:在$prompt 之外有提示嗎?
考慮這個 c-shell 抓取:
[<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
每行之後的來源,以及如何讓它消失。在 .csh* 文件中取消設置 $prompt* 變數、googleing 和 grepping 沒有得到任何答案。
有任何想法嗎?
@Stéphane Chazelas的評論讓我找到了答案。
錯誤確實與
precmd
別名有關:precmd echo '\033]30;<my-host-name>\007\c'
取消鋸齒顯然使違規線消失了,從那裡潛水更深是輕而易舉的事。
來自
man csh
:自動、定期和定時事件(+)
beepcmd 、cwdcmd、periodic、precmd、postcmd和jobcmd可以分別**設置特殊別名,以在 shell 要響鈴時、工作目錄更改時、每 tperiod 分鐘、每個提示之前、每個命令之前執行命令被執行,在每個命令被執行之後,當一個作業被啟動或被帶到前台時。
謝謝。