有人能解释一下或给我指出关于 中使用的“字符串转义”的好教程吗~/screenrc
?我正在玩$PS1
和~/.screenrc
。虽然$PS1
看起来很清楚(颜色、条件、转义字符……)但“字符串转义”是一个很大的未知数。我试着读了一下,info screen "String Escapes"
但我唯一得到的是字符串使用转义来做特殊用途,例如%H
主机名、%D
星期名等。现在我正在使用我从互联网上找到的以下行
hardstatus alwayslastline '%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
这个硬状态看起来像:
[ (0*$Dropbox) 1-$ ~ 2$ init.d 3$ ][2013-09-16 17:57 ]
我试图'[]'
在非活动窗口标题周围添加以下内容:
[ (0*$Dropbox) [1-$ ~] [2$ init.d] [3$ ~] ][2013-09-16 17:57 ]
但没有运气。有人能解释一下这个字符串中发生了什么吗?
'%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
谢谢
答案1
您应该参考字符串转义的一部分屏幕手册. 那么解密你的硬状态字符串就不会给你带来什么复杂的问题了。
'%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
\______/ \____/\/\__/ \__/ \__/\_____________/\___/\__________/ \_/\____/\__________/ \____/ \___/
1 2 3 4 5 6 7 5 8 9 10 11 12 13
- 在黑色背景上设置亮绿色文本以方便打开
[
- 在黑色背景上设置白色文字,
%?
仅当括起来的 % 转义符扩展为非空字符串时,才会显示直到下一个文本,- 显示带标志的当前窗口,
- 将左括号和右括号的文本设置为红色,
- 设置亮白色文字,
- 显示窗口编号、标志、标题以及其他用户(如果有)
- 如果有其他窗口,则以白色文本显示它们,
- 水平方向填充白色空间,
- 显示绿色
][
, - 用亮蓝色显示年月日,
- 明亮的白色时光,
- 最后
]
以绿色收盘。