如何清除命令的结果?

时间:2015-06-03 20:46:11

标签: git bash shell awk

所以,想象一下这个cmd的结果:git l | tail -n 1 | awk '{print $3}’就是这个哈希709bc16

当我运行此cmd时:

git show --pretty="format:" --name-only $(git l | tail -n 1 | awk '{print $3}’)

我收到此错误

fatal: ambiguous argument '709bc16': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>…]’

直接尝试git show --pretty="format:" 709bc16

然后成功执行cmd。

我甚至不知道该问什么。我相信这个cmd的结果格式是$(git l | tail -n 1 | awk '{print $3}’)

1 个答案:

答案 0 :(得分:1)

根据修订短名称周围的额外不可见字符的注释中的诊断,您的.show()命令可能是“瓷器”(UI)git命令的别名,而不是“管道”(shell脚本)命令。

瓷器命令在命令行上更加用户友好,通常使用颜色,缩进和ASCII艺术来显示您的存储库。但是,未指定确切的输出,并且可能会在不同版本之间进行更改和演变。管道命令是具有精确指定的明文输出的低级命令,专门为shell脚本等案例设计。

您可能需要扫描git man page以获取相关的管道命令,例如git rev-list