我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑。
我已经编辑了我的.cshrc
文件并将其放入其中:
set prompt=`whoami`@`hostname -s`:$cwd'$ '
但我想为该提示着色,使其更加突出。也许是带有白色文字的绿色或其他东西。我怎样才能做到这一点?我对shell语法不是很熟悉。
如果相关的话,我正在从 Ubuntu 附带的标准终端进行 SSH 连接。
这个页面有一个很好的解释,虽然语法有点不同csh
。这是我想出的:
set prompt="%{\e[32;1m%}%n%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%~%{\e[37m%}"\$"%{\e[0m%} "
# root variation:
set prompt="%{\e[31;1m%}root%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%/%{\e[37m%}#%{\e[0m%} "
更新:当您更改目录时,我在这里的上一个提示实际上并没有更新。使用%n
,%~
而%m
不是$cwd
或pwd
实际更新。看这里。
%{ ... %}
意味着之间的东西应该采用 0-width
\e[ ... m
指定颜色和粗体。\e
逃避[
似乎是必要的(我相信它相当于\033
),m
表示结束。
用作0
您的颜色以重置为默认值。
如果要设置颜色和背景,只需用分号分隔数字即可。用于1
启用粗体。
请参阅此表以选择您的颜色:
(来源:funtoo.org)
因此,例如,红色背景上的粗体青色“Hello World”将是%{\e[36;41;1m%}Hello World%{\e[0m%}
# Add these lines to your ~/.cshrc.mine file on the linux grace machines...
# Colors!
set red="%{\033[1;31m%}"
set green="%{\033[0;32m%}"
set yellow="%{\033[1;33m%}"
set blue="%{\033[1;34m%}"
set magenta="%{\033[1;35m%}"
set cyan="%{\033[1;36m%}"
set white="%{\033[0;37m%}"
set end="%{\033[0m%}" # This is needed at the end... :(
# Setting the actual prompt
set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} "
# Clean up
unset red green yellow blue magenta cyan yellow white end