Enter 키와 백슬래시 키가 거의 동시에 발생하는 것을 설명하세요.

Enter 키와 백슬래시 키가 거의 동시에 발생하는 것을 설명하세요.

명령 을 입력 하고 키를 mv누르려고 했습니다 . Enter아마도 백슬래시 키를 거의 동시에 눌렀을 것입니다. 키가 첫 번째 인 경우 Enter녹색 힌트가 있는 새 줄이 백슬래시 왼쪽(앞)에 나타나야 합니다. 대신 백슬래시는 녹색 힌트의 왼쪽에 있습니다.

두 번째 백슬래시가 있습니다. 아마도 이스케이프 시퀀스가 ​​시작될 수도 있습니다. 평소 프롬프트 색상이 녹색인데 왜 프롬프트 색상이 흰색으로 변경됩니까? 두 번째 백슬래시를 입력했는지 아니면 "잘못된 두 번째 에코"인지 잘 모르겠습니다.

파일 이동은 성공했지만 이상한 곳에 불필요한 파일이 생성되지 않았는지 확인하기 위한 쿼리입니다. "이동"이란 파일이 한 곳으로 이동하므로 외부 파일이 생성되지 않는 것처럼 보입니다.

영상

답변1

대신 백슬래시는 녹색 힌트의 왼쪽에 있습니다.

입력한 백슬래시가 인쇄되기 때문에앞으로프롬프트가 출력됩니다. 그런 다음 프롬프트를 인쇄하고 입력한 백슬래시를 추가합니다.

평소 프롬프트 색상이 녹색인데 왜 프롬프트 색상이 흰색으로 변경됩니까?

$PS1귀하의 것은 녹색이지만 $PS2행이 완료되기를 기다리는 동안 표시되는 귀하의 것은 녹색이 아니기 때문 입니다. 줄이 완료되면(줄 끝의 백슬래시가 줄을 이어주기 때문에) 프롬프트가 로 돌아갑니다 $PS1.

답변2

내 테스트에서는 Enter백슬래시 키와 백슬래시 키를 거의 동시에 누르면 이 상황을 재현할 수 있는 것으로 나타났습니다. 키보드가 손상되지 않았다고 가정"디바운스"(디바운스에 대한 정보 링크)그런 다음 백슬래시만 입력되므로 실제로 "가짜 두 번째 에코"가 발생합니다.

백스페이스 키(단일) 백슬래시 키를 통해 "삭제"할 수 있지만 두 개의 에코 중 하나만 사라집니다. 백스페이스 키를 누르면 녹색 프롬프트 오른쪽의 에코가 사라집니다. 녹색 프롬프트 왼쪽의 에코는 삭제할 수 없습니다. 분명히 나는 ​​그것을 "제거"하지 않고 계속해서 Enter키를 다시 사용했습니다. 쌍 backslash Enter은 스크립트 내부에서 사용할 수 있지만 분명히 대화식으로도 사용할 수 있는 줄 연속 시퀀스입니다. @IgnacioVazquez-Abrams가 언급했듯이 프롬프트는 연속 줄에 할당된 프롬프트가 될 것입니다. 제 경우에는 평소의 녹색 프롬프트와 다르게 보입니다.

내 테스트에서 백스페이스를 사용하여 백슬래시를 "제거"하면(두 개의 에코 중 하나만 제거되더라도) 줄이 계속되지 않습니다. 이는 백스페이스 키를 사용하여 백슬래시를 "제거"한 다음 키를 눌러 설명합니다 Enter. 내 테스트에서 프롬프트는 녹색으로 유지되었습니다. 이는 연속적인 선이 형성되지 않았음을 의미합니다.

이 명령은 백슬래시보다 약간 먼저 키를 누르므로 mv백슬래시의 영향을 받지 않습니다 . Enter이에 대한 증거는 백슬래시가 새 줄에 표시된다는 것입니다(비록 녹색 프롬프트 앞에 있음에도 불구하고). Enter이는 분명히 먼저 눌려진 개행 문자로 에코된다는 것을 의미합니다. 이 mv명령은 백슬래시의 영향을 받지 않으므로 예기치 않은 파일이 생성되지 않습니다.

나는 그것을 사용할 때 비슷한 동작을 본 적이 있다고 생각하며 ssh꽤 빨리 입력합니다. 원격 호스트는 충분히 빠르게 비밀번호를 묻는 메시지를 표시할 수 없으므로 내 비밀번호의 일부가 비밀번호 프롬프트 왼쪽에 표시되고, 비밀번호 프롬프트 오른쪽에 표시될 수도 있습니다. 비밀번호가 두 위치 모두에서 난독화되었는지 아니면 프롬프트의 오른쪽에만 있는지 기억이 나지 않습니다.

관련 정보