cli着色剂

clicol的Python项目详细描述


cli着色器

此项目将为默认情况下不着色cli的设备的命令行界面的输出着色。目标是简化故障排除并使输出更美观。

LicenseCisco Devnet Published

image

安装

  • 您将需要Python2.6+和pexpect

  • 应安装telnet和/或ssh

  • 我建议安装virtualenv并将clicol安装到该虚拟环境中:

    • pip install virtualenv
    • virtualenv \~/mypython
    • source \~/mypython/bin/activate
    • pip install clicol
    • 或者(在提取git源之后)
      • pip install clicol-xxxx.zip
  • 获取clicol源:

    • git clone https://github.com/realvitya/clicol \~/clicol
    • cd \~/clicol
  • 复制 clicol.cfg转到您的$home目录并根据您的需要进行修改

用法

运行脚本clicol-telnetclicol-ssh,并为telnet/ssh指定参数。

clicol可以在cygwin中的windows上运行。如果要使用SecureCRT,必须在cygwin中启用sshd并连接到本地主机。不必是桌面上的管理员,就可以正常工作。必须绑定到本地主机并使用端口号1024。

默认情况下,clicol将使用所有颜色集进行着色,此行为可以在配置文件中进行调整。配置文件可以保存在用户目录中,它将优先于默认值。

默认的中断键是ctrl-\

在按下中断键后,您可以选择:

p-暂停着色

q-退出会话

H-打印帮助

t-突出显示regex(在运行时将regex设置为突出显示重要内容)

F1-F12键是各种命令的快捷键。示例在示例配置文件中或尝试帮助“h”键。shift+f1-f8的快捷键只有在您的终端支持时才起作用。对于SecureCRT您可以设置映射键使其工作。(对于Putty我还不知道如何实现它)

注意:如果您安装到virtualenv中,则必须首先激活它:

source~/mypython/bin/activate

考虑使用别名。基本模板可以在doc文件夹中找到。

你的终端软件应该支持ANSI颜色。Putty/SecureCRT进行测试。我正在开发默认颜色集。如果你使用其他软件,颜色可能会有所不同。

测试

您可以列出所有受支持的匹配器并查看它们的运行情况。这有助于创建匹配器列表并仅对其进行筛选。这样,一个人可以选择首选的匹配者,如果发现他们所有的干扰。运行脚本clicol-test {regex}

用例示例:

列出所有匹配项:

clicol-test ".*"

仅列出BGP匹配者:

clicol-test ".*bgp.*"

仅列出某些匹配者:

clicol-test ".*ipv4|cisco_if_stats|juniper_if"

然后可以在$HOME的clicol.cfg中指定所需的regex,并且只使用这些匹配器。

可以通过运行clicol-file {filename}脚本测试输出。这将使文本文件着色并转储它。很适合测试。

自定义

可以重写或扩展颜色和正则表达式,以便可以修改默认行为和视图。这可以通过创建以下格式的自定义文件来完成。您可以在此处的默认ini文件中找到示例

ls -l $VIRTUAL_ENV/lib/python2*/site-packages/clicol/ini

自定义颜色

$HOME/clicol_customcolors.ini

此文件用于覆盖扩展当前颜色集。示例:

[colors]
c_blue     :\033[94m

自定义颜色表

$HOME/clicol_customct.ini

此文件用于覆盖或扩展颜色的关键字。示例:

[colortable]
#add blinking to high alert color:
highalert              = %(c_blink)s%(c_u_lred)s

自定义颜色映射

$HOME/clicol_customcmap.ini

此文件用于重写或扩展重新着色/匹配的规则。 示例:

#disable ipv6 coloring
[common_ipv6]
disabled=1

#alter coloring for 'shutdown'
[common_shut]
#replacement=%(alert)s\1%(default)s
replacement=%(lowalert)s\1%(default)s

您可以测试您的更改:clicol-test common_shut

许可证和版权

clicol获得许可GPLv3版权所有Viktor Kertesz,2017-2019

作者

clicol是维克多·克特兹写的 (vkertesz2[~at~]gmail[/dot]com)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将spring j_spring_安全检查迁移到登录   log4j2中自定义appender中AppConfig的java问题   在将java转换为Json时是否可以忽略内部类名和变量   用java将PDF文件转换为十六进制格式   java将值从AsyncTask返回到主类   java如何导入带有部署变量类名的静态函数?   java Spring Boot@ConfigurationProperties未从环境检索属性   java为什么API调用需要80毫秒的延迟才能到达控制器(在Google应用程序引擎中)?   XML配置中MarshallingMessageConverter中的java设置MarshallTo获取无效属性“MarshallTo”   java从群中获取facebook帖子   @ComponentScan的java excludeFilters不起作用   java将单选按钮值从一个类传递到另一个类   java使JTextArea在Swing中可滚动   java Android增强现实应用程序:将球坐标旋转到设备坐标系