![가끔 터미널에 ">" 프롬프트가 반복적으로 표시되는 이유는 무엇입니까?](https://linux55.com/image/56900/%EA%B0%80%EB%81%94%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%20%22%26gt%3B%22%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EA%B0%80%20%EB%B0%98%EB%B3%B5%EC%A0%81%EC%9C%BC%EB%A1%9C%20%ED%91%9C%EC%8B%9C%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
글쎄, 일부 명령을 잘못된 방식(오타 등)으로 실행하면 터미널이 다음과 같이 출력됩니다. >
대신 computername:workingfolder username$
Enter를 입력하면 다음과 같이 됩니다.
>
>
>
Enter를 세 번 누르면 끝입니다.
답변1
>
기본 계속 프롬프트입니다. 이전 입력에 불균형한 따옴표가 있는 경우 이 프롬프트가 표시됩니다.
예를 들어 명령줄에 작은따옴표와 몇 개의 키를 입력합니다 enter
.
$ '
>
>
>
계속하라는 메시지가 표시됩니다.
(a) 닫는 따옴표를 사용하여 명령을 완성하세요.
또는
(b) Enter Ctrl+ D입력 완료. 이 시점에서 쉘은 불균형 견적에 대한 오류 메시지로 응답합니다.
또는
(c) Ctrl+를 입력하면 C입력 중인 명령이 중단됩니다.
무슨 소용이야?
때로는 삽입된 개행 문자가 포함된 문자열을 입력하고 싶을 수도 있습니다. 다음과 같이 이 작업을 수행할 수 있습니다.
$ paragraph='first line
> second line
> third line
> end'
이제 쉘 변수를 표시하면 프롬프트가 사라졌지만 개행 문자는 보존된 것을 볼 수 있습니다.
$ echo "$paragraph"
first line
second line
third line
end
답변2
명령에 닫히지 않은 따옴표가 있는 경우 이런 일이 발생할 수 있습니다. 이와 같이:
$ echo "test here
>
>
...
인용문을 닫으면(또는 열려 있는 인용문을 작성하여) 이 모드를 종료할 수 "
있습니다 '
. 중괄호로 구분된 블록, 부분 완료 for-do
또는 while-do
루프 또는 기타 구조일 수도 있습니다. 를 눌러 Ctrl-C명령을 취소할 수도 있습니다(그런 다음 Up수정을 누름).
따옴표가 분명히 누락되지 않은 상태에서도 이런 일이 발생할 수 있습니다.범위또는역사확장은 예상치 못한 곳에서 발생합니다.
이것은 >
당신 것입니다PS2
("도움") 가치. 무슨 일이 일어났는지 상기시키기 위해 다른 것으로 변경할 수 있습니다.
PS2="Unclosed >"
유언장 각 줄의 시작 부분에 .bashrc
인쇄하도록 하세요 .Unclosed >
답변3
다른 답변 외에도 \
줄의 마지막 문자로 a를 입력하면 계속 프롬프트도 표시됩니다.
답변4
쉘은 사용자가 명령을 완료할 때까지 기다립니다. 어딘가에 완료되지 않은 참조가 있거나 "for" 루프를 시작하고 사용자가 입력을 마칠 때까지 기다리고 있다고 생각하는 것일 수 있습니다.