皮疹进展壳史

rash的Python项目详细描述


这是什么?

shell历史记录很有用。但是如果它能记录更多的信息 数据点。例如,如果忘记要运行的目标 对于某些项目,您需要搜索 在特定目录中运行。如果你能做到这一点不是很好吗?

rash search --cwd . "make*"

rash记录了许多数据点,并存储在sqlite数据库中。 下面是记录的信息列表

  1. 当前目录( $pwd )。
  2. 退出代码( $?
  3. 管道出口代码( $pipestatus / $pipestatus
  4. 时间命令开始并终止。
  5. 环境变量( $path $shell $term $host 等)
  6. 真正的终点站。 $term 用于伪造程序。 皮疹可以检测你是否在tmux,byobu,screen,gnome terminal,等等。
  7. 会话信息。如果你在一些终端来回走动, 皮疹不会在你运行命令的顺序中 终端。
  8. < > > < COL/> < COL/> <正文> <表>

    Rash也有交互式搜索界面。你可以看到搜索结果 输入结果。如果使用zsh,则可以执行结果 瞬间。

    Rash交互式搜索界面

    安装

    皮疹是用蟒蛇写的。最简单的安装方法是使用pip (如果您愿意,也可以使用"简易安装"。安装时可能需要使用sudo 在系统目录中。

    pip install rash
    pip install percol  # if you want interactive search feature
    

    如果你用virtualenv安装皮疹,你可能会有麻烦 切换环境。在这种情况下,化名是安全的 到RASH可执行文件的完整路径。:

    alias rash="PATH/TO/VIRTUALENV/bin/rash"
    

    如果您想使用开发版本,只需克隆git存储库 并在rc文件中添加以下内容。

    alias rash="PATH/TO/RASH/rash_cli.py"
    

    设置

    将其添加到您的 .zshrc .bashrc 中。仅此而已。

    eval "$(rash init)"
    

    有关更多信息,请参见Rash Init(皮疹初始化)帮助。

    用法

    搜索历史– 草率搜索

    当你的皮疹累积了你的病史之后,是时候 利用历史!有关详细信息,请参见Rash Search 信息。下面是一些例子。

    忘记如何为当前项目运行自动测试?

    rash search --cwd . --include-pattern "*test*" --include-pattern "tox*"
    

    一周内运行的所有git命令。:

    rash search --time-after "1 week ago" "git*"
    

    您在当前项目中运行的一些密集型任务成功并且 耗时超过30分钟。

    rash search --cwd-under . --include-exit-code 0 --duration-longer-than 30m
    

    到某个目录后我做了什么?

    rash search --after-context 5 "cd SOME-DIRECTORY"
    

    在此目录下运行的所有失败命令。:

    rash search --cwd . "make*"
    
    0

    计算一天内运行的命令数:

    rash search --cwd . "make*"
    
    1

    显示详细信息– 皮疹显示

    如果使用命令id将 -- 每个命令历史记录的ID号。

    rash search --cwd . "make*"
    
    2

    可以看到与命令关联的所有信息 皮疹显示 命令:

    rash search --cwd . "make*"
    
    3

    交互式搜索– 皮疹搜索

    使用命令行搜索历史不是很快。 您可以使用 rash isearch 命令以交互方式搜索 记录并在键入时立即查看结果。

    要使用此功能,您需要使用percol。

    zsh用户可以设置这样的键绑定:

    rash search --cwd . "make*"
    
    4

    在rc文件中定义这个函数非常方便 可用于bash用户。:

    rash search --cwd . "make*"
    
    5

    依赖性

    皮疹测试了Python2.6、2.7和3.2。然而,作为一些 依赖项与Python3不兼容,有些功能是 与python 3一起使用时丢失。

    python模块:

    [1] 如果您有兴趣,请查看皮疹记录 --help
    < COL/> < COL/> <正文> <表>

    平台

    < DL>
    类unix系统
    Rash在Linux中测试,我在Linux中使用。 它应该在其他类似unix的系统中工作,如bsd。
    Mac操作系统
    我想可以。未测试。
    MS窗口
    可能没有人想在windows中使用shell工具,但是我 尽量避免特定于平台的东西。只有 守护程序启动程序在Windows上不起作用,但有几个 避免使用它的方法。参见Rash Init帮助

    外壳

    Rash目前支持zsh和bash。

    设计原则

    拉什的设计注重简洁。有几个阶段 直到你看到搜索结果 是通过单独的过程来完成的。

    首先, rash record 命令将shell历史转储到原始json记录中。 程序的这一部分不触及数据库,使处理速度非常快。 因为在这个命令中没有复杂的转换,可能在 以后的版本最好在shell函数中重写它。

    其次, rash守护进程 在后台运行并监视目录 存储json记录。当json记录到达时,它将数据插入 数据库。

    rash记录 rash守护进程 由简单的shell片段设置 评估$(皮疹初始)

    最后,您可以使用搜索界面搜索命令历史记录 比如轻率的搜索。这个搜索很快,因为你不看 所有json记录都在单独的文件中。

    rash search --cwd . "make*"
    
    6

    许可证

    皮疹是根据GPLv3授权的。 有关详细信息,请参见复制。

    [2] 1 2 这些模块不支持python 3。 如果使用python 3,则不会在中安装它们 相关功能被禁用。

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

推荐PyPI第三方库


热门话题
使用jaxrpc的Java eclipse WebService客户端   java编程方式在对象上写入名称   java Spring批处理:重试后跳过   java Android错误:错误:任务执行失败:应用程序:transformClassesWithDexForDebug'   带有清单文件nullPointerException的java Android元数据   spring Java Quartz调度作业停止运行   JavaMockito:如何在不调用实际方法的情况下,模拟带有参数和无效返回类型的静态方法?   java Tomcat连接池问题无法在关闭的连接上调用方法   java如何交换列表中的项目?   java如何停止线程并通过Toast在线程中正确显示文本?   java为什么连续写入OutputStream时偏移量0不会导致重复字节?   java我无法生成头文件   不兼容的返回类型错误java   修改值后键值对的java Jolt转换规范   java有自动更新Javadoc的工具吗?   java线程如何在ints自身实例类中共享变量   java继承一个非gwt模块   java Hibernate xml配置   使用netty4异步调用的java链接HTTP请求响应