2012-10-12 4 views
0

bash에서 버그를 발견 했습니까?이것은 Bash 쉘의 버그입니까

  1. 나는 Test
  2. CD 테스트라는 이름의 폴더를 생성/한
  3. RF RM은 ../Test (나는 그 디렉토리에있는 동안 이미지에서와 같이 PWD를 삭제) This picture show it
+0

'ls'의 예상 출력은 얼마나됩니까? 결국 당신은 디렉토리를 제거했습니다. 또한'ls'는 bash의 일부가 아닙니다. –

+0

나는'ls'에 대해 걱정하지 않는다. 나는 삭제 된 디렉토리에 대해 염려하고있다. – VAR121

+0

나는 그것이 버그가 아니라고 대답하고 싶었다. (나는 때때로 그러한 상황에 직면한다. 그래서 그것은 알려진 행동이라고 생각하고, 오랜 세월 동안 살아남 았다면 그것은 버그보다 더 많은 특징이다) , 그런 다음 나는 머리 속에서 무슨 일이 일어나고 있는지 알아 내려고 노력했다. –

답변

5

버그가 아니며 배쉬와도 관련이 없습니다. 현재 작업 디렉토리 (및 쉘의 경로 정보를 보유하는 모든 환경 변수)는 고아가 된 파일 시스템 노드를 가리키고 있습니다. 목록에 표시하면 노드에있는 내용이 표시됩니다. 이는 고아가 되었기 때문에 ...이 없어 졌기 때문입니다. rm은 노드가 고아가되기 전에 디렉토리의 모든 것을 제거합니다. 따라서 ls은 아무 것도 제공하지 않습니다.

touch blah 또는 mkdir blah과 같이 삭제 된 디렉토리 안에 파일을 만들려고하면 파일을 찾을 수 없다는 오류가 발생합니다.

"orphaned"가 올바른 용어가 아닐 수도 있습니다. 단순히 부모 노드가 없다는 의미로 사용됩니다.

관련 문제