我可以将命令的输出获取到 bash 中的当前命令行中以便进行编辑吗?

我可以将命令的输出获取到 bash 中的当前命令行中以便进行编辑吗?

我知道我可以使用$()命令的输出或将命令的输出分配给变量,然后使用它。但是我可以将命令的输出粘贴到当前命令行上以便进行编辑吗?

如果我有鼠标,那就很容易 - 复制和粘贴。但有时我在使用鼠标非常不方便的系统上工作。有没有办法仅通过键盘来完成此操作?

典型的用例是当我想标记 git 存储库时:

$ git describe
2.20.0-5-1-g99a731f4e3

我那么想git tag 2.20.0-6。有没有办法将以前的标签放入命令行以便我可以编辑它?显然,除了打字之外。或者构建一个sed命令来进行编辑。

答案1

在问这个问题后不久就发现xsel可以做我想做的大部分事情。具体来说:

git describe | xsel -i -b

将把 的输出git describe放入剪贴板(或者如果您使用-p-s代替 则将其作为主要或次要选择-b)。然后,您可以在 GNOME 终端中使用 Ctrl+Shift+V 或在其他终端模拟器中使用其他等效键粘贴结果。

相关内容