이 글을 게시하기 약 30분 전에 나는 autoclean
및 autoremove
명령을 실행했습니다.
명령을 실행한 지 몇 분 후, 몇 달 동안 사용했던 스크립트를 문제 없이 실행했습니다.
이번에 스크립트를 실행한 후 다음과 같은 메시지를 받았습니다.
"line 46: read: read error: 0: Resource temporarily unavailable"
루프( while
루프 내에서 스크립트가 실행됨).
나는 문제를 찾기 위해 약 5분을 소비한 후 autoremove
및 autoclean
명령을 기억하고 이것이 내가 변경한 유일한 것이기 때문에 이것이 문제의 원인이 거의 확실하다고 결정했습니다.
명령의 성격과 오류 메시지를 고려하여 read
명령이 삭제된 것이 틀림없다고 결론을 내렸습니다.
apt
를 다시 설치하기 위해 모든 배포판의 핵심 패키지를 다시 설치하는 명령을 구현했지만 실패할 경우 명령을 직접 다시 설치할 read
수 있는 방법이 있습니까 ?read
나는 명백한 것을 시도했지만 apt install -y read
작동하지 않습니다. 주위를 둘러 보았지만 "읽기 명령 설치 방법"을 구체적으로 검색했지만 설치 방법에 대한 예만 얻었습니다.사용명령을 읽으면 코어 재설치 및 이 문제가 발생합니다.
조언해 주셔서 미리 감사드립니다 :)
(아, 그리고 물어보기 전에, 나는가지다껐다가 다시 켜보세요 :D)
답변1
이는 read
도구가 아니라 셸에 내장된 명령입니다. 이는 모든 쉘 bash
, ksh
심지어 zsh
클래식 에도 존재합니다 sh
. 따라서 제거할 수 없습니다.
스크립트가 무엇을 읽고 있는지 확인하세요. 문서? 기준? 파이프 좀요?
이는 입력 스트림을 제공하는 모든 항목의 일시적인 문제일 수도 있으므로 터미널을 다시 시작하거나 컴퓨터를 다시 시작하면 도움이 됩니다.
apt autoremove
이를 깨는 유일한 방법 read
은 쉘이 일부 외부 라이브러리를 사용하고 해당 라이브러리가 제거되는 경우입니다. 이 경우 쉘( apt update bash
)을 다시 설치해야 합니다. 그러나 이것은 가능성이 낮습니다.