问题描述
我看过重复的问题。什么都没有。
我使用Gitbash,当使用Cygwin时,我使用gitbash提示(/Git/etc/bash.bashrc)来显示相同的提示。在Gitbash中,提示起作用。在cygwin中,输出行会自动换行。例如:
import Main from './Main'
describe('Main method',() => {
describe('getService given ServiceA',() => {
it.skip('should return an instantiate of ServiceA class',function () {
const main = new Main();
const getService = spy(main,'getService');
main.getService('serviceA');
expect(getService).to.be.an.instanceOf(ServiceA);
});
});
此行在附加到PS1时引起换行(仅在cygwin中)。 minttyrc和颜色设置完全相同。我认为这是问题所在,去除颜色可以解决问题。但是,我相信一切都可以正确逃脱,并且因为它没有包装在gitbash中,所以我不知道问题出在哪里。
这里的颜色似乎是问题所在,将其删除即可解决问题。但为什么?终端有何不同?我也想知道是否有可能早日逃脱,但是PyCharm的shellcheck表示一切都很好。
包装示例:
Cygwin:
[ "$python_version" ] && python_version='\[\033[95;38;5;227m\]?'"${python_version##* } "
GitBash(理想输出):
⬢14.7.0p/new ?3.8.3 (venv) ❯
它仅在提示符(PS1变量,也称为~/Desktop/new ?3.8.3 ⬢14.7.0 (venv) ❯
)内发生;不在终端上实际键入命令时。
解决方法
答案:Cygwin是垃圾(请夸张)。它有很多实用程序,但是却遇到了许多类似的错误,这实在令人遗憾。我卸载了它,从PATH中删除了它的变量,并在其中添加了C:\ Program Files \ Git \ bin,现在可以使用ssh -t user@host bin "bash -l"
ssh了。这给了我正确的提示,无论是否使用ssh,都没有包装;我可以使用MinGW安装其他实用程序,例如g ++。我希望Cygwin在我以各种方式进行调试时能尽快解决问题。不更改任何代码,将其卸载,然后输出成功。