有没有快速(例如,通过键盘快捷键等)来引用前一个命令的输出的输出,它写到标准输出的方法吗?
例如,如果我这样做:
which rails
和它返回/usr/local/bin/rails
,然后我想打开TextMate的这个文件,我可以重新输入类似这样的输出:
mate /usr/local/bin/rails
但有迅速引用输出,而不必重新输入它的方法吗?
注:我知道我可以做mate $(which rails)
,但我专门找参考标准输出。
有没有快速(例如,通过键盘快捷键等)来引用前一个命令的输出的输出,它写到标准输出的方法吗?
例如,如果我这样做:
which rails
和它返回/usr/local/bin/rails
,然后我想打开TextMate的这个文件,我可以重新输入类似这样的输出:
mate /usr/local/bin/rails
但有迅速引用输出,而不必重新输入它的方法吗?
注:我知道我可以做mate $(which rails)
,但我专门找参考标准输出。
我用历史参考反引号:
$ which rails
/usr/local/bin/rails
$ mate `!!`
其实,我的编辑器(脚本启动gvim)化名为e
,所以看起来更短:
$ e `!!`
你可以随时绑定到一个热键(请参阅bash帮助页面bind
命令和readline support
)。
另外,如果你可以使用剪切缓冲区(在X应用程序鼠标选择),一个热键类似下面的可能是有用的:
$ e $(xclip -out)
该命令将启动编辑器如上面无论是在命令行中剪切缓冲区。 鉴于许多路径选择,只需双击,选择的路径可以非常快速地编辑。
你总是可以运行在反引号中的命令:
mate `which rails`
我不得不说,虽然这感觉有点,呃,有风险的。 如果你的路径已经被篡改,使得它返回一个不同的版本比钢轨你真正需要什么样的? 如果这是什么返回什么? 所以,要小心关闭所有的错误情况,或避免它们在某些方面(比如,读取路径导轨从一个配置文件,并写入一个工具,建立该配置文件给你)。