Eu acidentalmente quebrei / bin / bash

4

Acabei de começar a usar o Linux. Estou usando o Ubuntu e acho que cometi um erro muito grave. Eu fiz um script e por algum senso estúpido eu decidi movê-lo para a minha pasta /bin , mas eu acidentalmente digitei

mv /home/kenny/script /bin/bash

Agora eu perdi minha festa e não sei o que fazer. Toda vez que eu executo bash eu recebo um erro "muitos links simbólicos".

O que posso fazer para restaurar meu / bin / bash?

    
por kenny 03.09.2015 / 16:55

3 respostas

1

Você pode tentar executar /bin/sh .

Depois disso, reinstale o bash:

sudo apt-get install --reinstall /bin/bash

Isso deve corrigir seu erro.

    
por 03.09.2015 / 17:27
1

O shell principal usado pelo próprio sistema Ubuntu é /bin/dash .

Então, tente executar isso. Não possui recursos para uso interativo como conclusão, mas é um shell completo em termos de recursos básicos de shell.

Você já comentou que /bin/sh está faltando, que é um link simbólico para /bin/dash .
O link ou o binário dash está ausente.

Mas eu esperaria que o Ubuntu não pudesse fazer muito sem dash , e parece que ainda está ativo - então podemos esperar que a /bin/dash esteja lá.
Talvez alguns scripts do sistema sejam executados com dash , mas especifique o uso de sh , que agora está ausente.

Você pode recriar o link simbólico /bin/sh apontando para /bin/dash por:

sudo ln -s -r /bin/dash /bin/sh

O sistema em si não precisa de bash - todos os scripts que fazem parte do sistema Ubuntu devem rodar com os recursos de dash .

Somente os terminais interativos executam bash por padrão e são exigidos por scripts personalizados quando iniciam com a linha #!/bin/bash .

Outras camadas para tentar:

  • /bin/zsh
  • /bin/csh
  • /bin/tcsh
  • /bin/mksh
  • /bin/lksh
por 03.09.2015 / 18:29
0

Verifique se você tem o bash em /usr/bin/ .

Se sim, se é como na minha distro, então /bin é um link para /usr/bin/ ; Então, com qualquer esperança, você só travou /bin/bash com seu mv e pode restaurá-lo de /usr/bin/

    
por 03.09.2015 / 17:18

Tags