Prompt

csh:在$prompt 之外有提示嗎?

  • June 12, 2014

考慮這個 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 、cwdcmdperiodicprecmdpostcmdjobcmd可以分別**設置特殊別名,以在 shell 要響鈴時、工作目錄更改時、每 tperiod 分鐘、每個提示之前、每個命令之前執行命令被執行,在每個命令被執行之後,當一個作業被啟動或被帶到前台時。

謝謝。

引用自:https://unix.stackexchange.com/questions/134125