我想设置我的Bash文件,使得我可以从前一个命令的标准输出中抽取文本。我将使用的示例用例是在git rebase期间解决冲突。从前一个标准输出到文件命令行的洋文文件
$ git status
# Not currently on any branch.
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: app/views/report/index.html.erb
#
$ vim app/views/report/index.html.erb
# .... edit, resolve conflicts ....
$ git add <Alt+.>
的问题是最简单的方法来获取文件名的第二个命令(vim ...
)是将我的手在鼠标。其中一个选项是screen
,但是它有一组作为日常shell的问题。 (其中至少有一点是我使用并滥用Ctrl + A作为readline的快捷键)
从哪里开始为我做这项工作?理想情况下,我希望能够从前一个命令的标准输出中抽取第012行,以便将其作为命令处理。
是啊,它变得很明显,我需要修改我的环境中捕捉到标准输出/标准错误,然后写的东西拉那些线在您的建议很好看,但我不知道。我如何从一个变量将这个从bash命令行中得到(例如,将内联变量扩展,或者更好,通过快捷键完成所有操作) – Shaun 2010-10-25 00:40:44
@Shaun:你真的需要扩展它吗?你不能像我的例子那样引用变量吗?如果需要(可以同时进行其他扩展),可以按Ctrl-Alt-e在命令行上展开变量。在“man bash”中搜索“shell-expand-line”获取更多信息。不幸的是,readline函数不能以编程方式调用。 – 2010-10-25 02:23:55
这很不幸 - 这比使用鼠标做更多的努力。我希望能够用我的方式编码,但看起来这不是一个没有修改Bash的选项。感谢你的回答。 – Shaun 2010-10-25 02:51:48