git log --pretty = format Windows奇怪的行为

时间:2018-10-28 17:45:04

标签: json git cmd git-log

我将问题降低到最低限度。 在linux下,这样的git命令:

git log --pretty=format:{"commit":"%H"}

为我提供了一个有效的json元素,例如:

{"commit":"20cafdecc9898113ac6215ae70cd7622dc2cae3b"}

在Windows下,我获得了一个无效的json元素,因为在某种程度上,Windows似乎删除了双引号元素,因此我获得了:

{commit:20cafdecc9898113ac6215ae70cd7622dc2cae3b}

您知道为什么吗,或者如何解决使其在两个操作系统下都能正常工作? 谢谢!

1 个答案:

答案 0 :(得分:0)

我假设您在Linux上的外壳不是Listener外壳,因为我在Linux上的selectedRadioButtonIndex.addListener((observable, oldValue, newValue) -> { System.out.println(newValue); }); 外壳为我提供了与Windows上相同的输出-没有双引号。

双引号是大多数shell的特殊字符-因此,您必须通过“转义”或“引用”来保护它们。

bash

这适用于Linux上的bash和Windows上的bash。我尚未在Windows上使用bash对其进行过测试。