linux - 使用 Bash 自动将最后一个命令的输出捕获到变量中?

我希望能够在后续命令中使用上次执行命令的结果。例如,

$ find . -name foo.txt
./home/user/some/directory/foo.txt

现在假设我希望能够在编辑器中打开文件,或者删除它,或者用它做其他事情,例如

mv <some-variable-that-contains-the-result> /some/new/location

我该怎么做?也许使用一些 bash 变量?

更新:

为了澄清,我不想手动分配东西。我所追求的是内置 bash 变量之类的东西,例如

ls /tmp
cd $_

$_ 保存前一个命令的最后一个参数。我想要类似的东西,但输出的是最后一个命令。

最终更新:

赛斯的回答效果很好。要记住的几件事:

  • 第一次尝试解决方案时不要忘记touch/tmp/x
  • 只有在最后一个命令的退出代码成功时才会存​​储结果

最佳答案

我不知道有什么变量可以自动进行。除了复制粘贴结果之外,您还可以重新运行您刚才所做的任何事情,例如

vim $(!!)

其中 !! 是历史扩展,意思是“上一个命令”。

如果您希望有一个包含空格或其他字符的文件名可能会妨碍正确的参数解析,请引用结果 (vim "$(!!)")。不加引号将允许一次打开多个文件,只要它们不包含空格或其他 shell 解析标记。

https://stackoverflow.com/questions/5955577/

相关文章:

python - Python SciPy 需要 BLAS 吗?

python - 更改 pandas DataFrame 中的特定列名

linux - 如何检测网线/连接器的物理连接状态?

linux - 从文件列表中获取输入的 Tar 归档

c - 编写程序以处理导致 Linux 上丢失写入的 I/O 错误

python - 在 scikit-learn 中将分类器保存到磁盘

linux - 当程序具有命令行参数时,如何使用 GDB 分析程序的核心转储文件?

python - Django CSRF 检查因 Ajax POST 请求而失败

django - 在 Django 中处理一页上的多个表单的正确方法

python - ValueError : The truth value of an array