我将问题降低到最低限度。 在linux下,这样的git命令:
git log --pretty=format:{"commit":"%H"}
为我提供了一个有效的json元素,例如:
{"commit":"20cafdecc9898113ac6215ae70cd7622dc2cae3b"}
在Windows下,我获得了一个无效的json元素,因为在某种程度上,Windows似乎删除了双引号元素,因此我获得了:
{commit:20cafdecc9898113ac6215ae70cd7622dc2cae3b}
您知道为什么吗,或者如何解决使其在两个操作系统下都能正常工作? 谢谢!
答案 0 :(得分:0)
我假设您在Linux上的外壳不是Listener
外壳,因为我在Linux上的selectedRadioButtonIndex.addListener((observable, oldValue, newValue) -> {
System.out.println(newValue);
});
外壳为我提供了与Windows上相同的输出-没有双引号。
双引号是大多数shell的特殊字符-因此,您必须通过“转义”或“引用”来保护它们。
bash
这适用于Linux上的bash和Windows上的bash。我尚未在Windows上使用bash
对其进行过测试。