运行Git命令时无法读取''

时间:2019-02-08 19:20:25

标签: bash git

我正在阅读Adam Tornhill的著作《软件设计X射线》,他在第17页指出,该命令可用于获取git repo更改频率的日志:

git log --format=format: --name-only | egrep -v '^$'| sort \ | uniq -c | sort -r | head -5

但是,执行该命令时出现错误Error: "cannot read: ' ': No such file or directory

他说这个食谱来自《 Git版本控制食谱》,但是我在任何地方都找不到它的引用,也不太了解Bash或git。

1 个答案:

答案 0 :(得分:3)

错误可能是由于管道的sort \段引起的,无论如何绝对不是您想要的。以这种上下文和方式使用时,反斜杠转义了以下空格字符,使其成为sort命令的参数。结果命令尝试对名称由单个空格字符组成的文件进行排序(是的,允许使用此类名称),但是毫不奇怪,不存在此类文件。如果您在一行中全部键入此命令,则只需删除反斜杠即可。

我推测该错误可能已经蔓延,因为该命令最初是在两条物理线中(可能是在脚本中)分开,随后又被合并为一条物理线。在多行版本中,紧接在换行符之前,需要使用反斜杠,以使外壳程序将这两行视为一个合乎逻辑的行,但是当删除换行符时,也需要使用反斜杠。