皮疹进展壳史

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第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?