실수로 /bin/bash를 망쳤습니다

실수로 /bin/bash를 망쳤습니다

저는 이제 막 리눅스를 사용하기 시작했습니다. 저는 우분투를 사용하고 있는데 매우 심각한 실수를 저질렀다고 생각합니다. 스크립트를 만들었고 어리석은 생각에 /bin폴더로 옮기기로 결정했지만 실수로 입력했습니다.

mv /home/kenny/script /bin/bash

이제 나는 의욕을 잃었고 무엇을 해야할지 모르겠습니다. Bash를 실행할 때마다 "심볼 링크가 너무 많습니다"라는 오류가 발생합니다.

/bin/bash를 복원하려면 어떻게 해야 합니까?

답변1

대신 달리기를 시도해 볼 수 있습니다 /bin/sh.

그런 다음 bash를 다시 설치하십시오.

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

이렇게 하면 오류가 해결됩니다.

답변2

우분투 시스템 자체에서 사용하는 기본 쉘은 /bin/dash.

그러니 실행해 보세요. 완성과 같은 대화형 사용 기능은 없지만 기본 셸 기능에 관한 한 완전한 셸입니다.

/bin/sh누락된 내용 에 대해 댓글을 달았으며 이에 대한 심볼릭 링크는 다음과 같습니다 /bin/dash.
링크 또는 dash바이너리가 누락되었습니다.

그러나 나는 우분투가 그것 없이는 많은 일을 할 수 있을 것이라고 기대하지 않으며 dash여전히 실행 중인 것처럼 보입니다. 그래서 우리는 /bin/dash희망이 있기를 바랄 수 있습니다.
시스템에 using으로 실행되었지만 dashusing으로 지정되어 sh지금은 누락된 스크립트가 있을 수 있습니다.

/bin/sh다음이 가리키는 심볼릭 링크를 다시 만들 수 있습니다 /bin/dash.

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

시스템 자체에서는 필요하지 않습니다 bash. Ubuntu 시스템의 모든 스크립트는 dash.

기본적으로 대화형 터미널만 bash를 실행하며 사용자 정의 스크립트가 line으로 시작하는 경우 필요합니다 #!/bin/bash.

시도해 볼 만한 다른 쉘:

  • /bin/zsh
  • /bin/csh
  • /bin/tcsh
  • /bin/mksh
  • /bin/lksh

답변3

bash 가 있는지 확인하세요 /usr/bin/.

그렇다면 내 배포판과 같다면 /bin에 대한 링크가 있으므로 MV가 충돌하고 다음에서 얻을 수 있기를 /usr/bin/바랍니다./bin/bash/usr/bin/

관련 정보