Descobri que depois que a pergunta foi postada aqui, uma nova resposta foi postada em
qual é o link dado na questão em si. Esta última resposta me ajudou a resolver o problema. Então, essa é toda a lista de coisas que podem ser importantes:
Para sistemas Linux genuínos, pode-se usar "chsh -s" para definir seu shell padrão. No entanto, o comando "chsh" parece estar ausente no Cygwin.
Para ter certeza de que o bash é o shell padrão do xterm no Cygwin, você precisa (pelo menos) fazer o seguinte:
1) certifique-se de que o bash está instalado (apenas verifique por "which bash")
2) certifique-se de que o bash esteja listado em / etc / shells (este arquivo deve ser criado se ausente, cf. link acima para encontrar um exemplo para / etc / shells)
3) verifique se em / etc / passwd o shell padrão do usuário em questão está configurado corretamente, incluindo o caminho, por exemplo, / bin / bash
No entanto, tudo isso não me ajudou. É apenas o último bit que realmente fez o xterm iniciar com o bash por padrão:
4) o arquivo / bin / bash (alteração para caminho válido, se necessário) deve ser configurado para chmod 755 em vez de 700. Isso significa que todos os usuários devem ser capazes de executá-lo. Observe que a permissão chmod no Cygwin não é necessariamente derivada das permissões do Windows definidas na pasta cygwin nas janelas.
Então eu apenas digitei "chmod 755 / bin / bash" e ele fez o que deveria!
Parece que, durante uma das atualizações recentes do Cygwin, as permissões chmod para / bin / bash foram alteradas, levando ao comportamento estranho descrito acima.
Espero muito ajudar alguém com tudo isso, então minha dor não foi em vão.
P.S. para verificar qual shell você está usando atualmente, use "echo $ SHELL" ou "ps -p $$" Se os resultados forem diferentes, o segundo deve ser confiável. Por exemplo. quando você inicia um novo shell no terminal $ SHELL pode não mudar, mas a saída de "ps -p $$" mudaria