zsh에 붙여넣은 텍스트에서 "cat >> file"이 작동하지 않는 이유는 무엇입니까?

zsh에 붙여넣은 텍스트에서 "cat >> file"이 작동하지 않는 이유는 무엇입니까?

이전에는 zsh에 대해 들어본 적이 없었지만 Catalina로 업데이트했을 때 MacOS는 zsh를 위해 bash를 포기하도록 강요했습니다. 하지만 최근에 시도하고 있습니다 cat >>. 추가하려는 줄을 터미널의 다른 곳에서 복사하여 붙여넣습니다.

$ cat >> test.txt
This is a test.

zsh: do you wish to see all 3734 possibilities (1867 lines)? 

이 경우에는 "This is a test"라는 줄 전체를 붙여넣었습니다. (줄 끝까지 포함) bash와 달리 zsh는 Enter를 누를 때까지 붙여넣은 텍스트를 역방향 비디오로 인쇄합니다(가끔?). 이 경우 "Control-D"를 눌러 텍스트 붙여넣기가 완료되었음을 나타냅니다. 이 시점에서 bash는 나에게 다음 프롬프트를 제공하지만 여기서는 zsh가 내가 이해할 수 없는 메시지를 제공합니다. 나는 bash로 돌아갈 것을 강력히 고려하고 있습니다. 하지만 궁금합니다. zsh는 자신이 무엇을 하고 있다고 생각합니까? 다른 사람이 이것이 버그라고 생각합니까, 아니면 적어도 버그 기능이라고 생각합니까? 항상 그런 것은 아닌 것 같습니다. 때때로 덜 혼란스럽기는 하지만 여전히 잘못된 정보를 얻습니다.

zsh: command not found: This

답변1

먼저 붙여넣으면

cat >> test.txt

그런 다음 누르고 Enter붙여넣으세요.

This is a test.

그런 다음

  • 을 누른 Enter후 를 누르 ControlD거나,
  • ~에 따르면ControlD 두 배,

원하는 결과를 얻을 수 있습니다(첫 번째 경우에는그리고입력 후 줄 바꿈, 두 번째 경우아니요).


직접 붙여넣으면

cat >> test.txt
This is a test.

그런 다음 두 번째 줄은 cat입력으로 제공되지 않지만 명령줄의 두 번째 줄로 Zsh에 입력됩니다.

  • 그런 다음 를 누르면 EnterZsh는 이에 따라 이 두 줄을 실행하려고 시도하여 결과적으로 zsh: command not found: This.
  • 그런 다음 를 누르면 ControlDZsh는 두 번째 줄에 완료 항목을 나열하려고 시도하며, 이는 (항상 그런 것은 아니지만) 결과가 될 수 있습니다 zsh: do you wish to see all 3734 possibilities (1867 lines)?(이 작업을 수행하는 시기와 장소에 따라 다름).

관련 정보