Você precisa converter os finais de linha de /mnt/c/Users/Philipp/.aliases_win
do formato Windows (CRLF) para o formato unix (LF). Você pode fazer isso com o sed (isso sobrescreverá o arquivo):
sed -i 's/\r$//' /mnt/c/Users/Philipp/.aliases_win
Explicação:
O motivo pelo qual bash diz : command not found
é porque ele interpreta o retorno de carro nas linhas "em branco" no arquivo formatado no windows como o nome de um comando. Você pode testar isso por si mesmo no bash shell digitando CTRL-V, CTRL-M e, em seguida, pressionando enter (CTRL-M ou ^ M corresponde a um retorno de carro, veja man console_codes
).
Depois de remover todas as linhas em branco, você ficou com apenas alguns comandos alias, que lhe deram : File or directory not found
após a execução dos aliases porque o retorno de carro no final das linhas de alias foi realmente adicionado ao alias. Por exemplo, a linha alias ..='cd ..'<CR><LF>
fez ..
um alias para cd ..<CR>
, que não vai para a pasta pai ..
, mas tenta alterar para o diretório com o nome ..<CR>
. A mensagem de erro ao executar esse alias não é iniciada com o típico bash: cd: foldername
, pois o eco do retorno de carro no nome da pasta faz com que o cursor retorne ao início da linha; tente algo como echo aaaa<CR>bb
para ver isso com mais clareza.