皮疹进展壳史
rash的Python项目详细描述
这是什么?
shell历史记录很有用。但是如果它能记录更多的信息 数据点。例如,如果忘记要运行的目标 对于某些项目,您需要搜索 在特定目录中运行。如果你能做到这一点不是很好吗?
rash search --cwd . "make*"
rash记录了许多数据点,并存储在sqlite数据库中。 下面是记录的信息列表
- 当前目录( $pwd )。
- 退出代码( $?
- 管道出口代码( $pipestatus / $pipestatus )
- 时间命令开始并终止。
- 环境变量( $path , $shell , $term , $host 等)
- 真正的终点站。 $term 用于伪造程序。 皮疹可以检测你是否在tmux,byobu,screen,gnome terminal,等等。
- 会话信息。如果你在一些终端来回走动, 皮疹不会在你运行命令的顺序中 终端。 < > > < COL/> < COL/> <正文> <表>
- 类unix系统
- Rash在Linux中测试,我在Linux中使用。 它应该在其他类似unix的系统中工作,如bsd。
- Mac操作系统
- 我想可以。未测试。
- MS窗口
- 可能没有人想在windows中使用shell工具,但是我 尽量避免特定于平台的东西。只有 守护程序启动程序在Windows上不起作用,但有几个 避免使用它的方法。参见Rash Init帮助
Rash也有交互式搜索界面。你可以看到搜索结果 输入结果。如果使用zsh,则可以执行结果 瞬间。
安装
皮疹是用蟒蛇写的。最简单的安装方法是使用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 |
平台
< DL>外壳
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,则不会在中安装它们 相关功能被禁用。 |