Que tipo de final de linha seu script possui? Para que o script bash do Cygwin funcione corretamente (sem ter que definir opções especiais), ele deve ter finais de linha (LF) do Unix em vez de finais de linha do DOS (CR-LF). Se você salvou o script com finais de linha do DOS, o bash verá seu argumento para cd
as /c/Code/Project^M
, onde ^M
é um CR e não encontrará um diretório com esse nome.
Para ver que tipo de finalização de linha ele possui, você pode executar file scriptname
, onde scriptname é o nome do seu script. Para converter o script de modo que tenha finais de linha Unix, execute d2u scriptname
.
Não use o Bloco de Notas para editar os scripts de bash do Cygwin. Ele sempre salva arquivos com finais de linha do DOS.