Se eu leio sua pergunta corretamente, você está procurando por algo diferente do que chere fornece (o que, garantido, é bem legal por si só).
A versão atual do Cygwin não tem um arquivo / etc / passwd , e o sistema em que estou trabalhando tem informações de conta do Windows em um banco de dados de domínio fora do meu controle. Conseqüentemente, o chsh não é mais suportado.
Também descobri que o bash não está embutido no script startxwin , nem é codificado em nenhum arquivo .bat. Acontece que você não precisa mexer com arquivos .bat.
Pesquisando como alterar meu shell, encontrei alguns conselhos sobre mkpasswd
Eu adicionei ao mix.
A página do homem dizia:
SYNOPSIS
mkpasswd [OPTIONS]...
OPTIONS
Don't use this command to generate a local /etc/passwd file, unless you
really need one. See the Cygwin User's Guide for more information.
-c,--current
Print current user.
DESCRIPTION
The mkpasswd program can be used to create a /etc/passwd
file. Cygwin doesn't need this file, because it reads user
information from the Windows account databases, but you can add
an /etc/passwd file, for instance if your machine is often dis‐
connected from its domain controller.
Note that this information is static, in contrast to the informa‐
tion automatically gathered by Cygwin from the Windows account
databases. If you change the user information on your system,
you'll need to regenerate the passwd file for it to have the new
information.
For very simple needs, an entry for the current user can be cre‐
ated by using the option -c.
(eu não sei porque o espaçamento é tão "off" ...)
Eu então usei o seguinte comando:
mkpasswd -c | sed -e 'sX / bashX / zshX' | tee -a / etc / passwd
Da próxima vez que você abrir um Cygwin Terminal, ele irá direto para o zsh
E isso, eu acho, é o que você pediu.