prompt
我已经使用以下代码在我的机器上设置了:
set prompt = " %B%{\033[34m%}`hostname`: %c %D/%w %p :) %b"
它输出我喜欢的定制显示。看起来像 :
但是,当我发出echo $prompt
命令时,它会返回missing ]
.我相信我确实正确地提到了定制手册。
答案1
您遇到了 tcsh 的解析怪癖之一。来自tcsh 手册:
变量替换 除非用 ' " ' 括起来或给出 ':q' 修饰符,否则变量替换的结果最终可能会被替换为命令和文件名。
您有一个变量扩展为语法上不正确的文件名替换内容。您可以通过键入echo "$prompt"
或 来阻止替换echo $prompt:q
。
例子:
% set prompt = " %B%{\033[34m%}`hostname`: %c %D/%w %p :) %b"
host.example.com: ~ 12/Dec 9:46:12am :) echo $prompt:q | cat -v
%B%{^[[34m%}host.example.com: %c %D/%w %p :) %b