Parece que você tem finais de linha do Windows ( \r\n
) em vez de finais de linha do Unix ( \n
). Por exemplo, observe o primeiro conjunto de mensagens de erro:
... token '$'in\r''
'ash: /home/khaverim7/.bashrc: line 6: 'case $- in
O que deveria ser, se \r
(retorno de carro, que envia o cursor de volta ao primeiro caractere em uma linha) fosse impresso como \r
:
... token '$'in\r''
bash: /home/khaverim7/.bashrc: line 6: 'case $- in\r'
Da mesma forma,
: command not found
seria devido ao único \r
em uma linha vazia:
bash: \r: command not found
E
: invalid shell option name
seria devido a um comando \r
no final de shopt
, em que o nome da opção é curto o suficiente:
bash: line 0: shopt: something\r: invalid shell option name
(compare com bash -c blah
e bash -c 'shopt -s blah'
.)
Para recuperar os finais de linha do Unix, use o comando dos2unix
para converter:
dos2unix .bashrc
Eu suspeitaria que você usou um cliente baseado em Windows em algum momento (como WinSCP, FileZilla, etc.) ou que seu editor tenha padronizado para terminações de linha do Windows.