이제 중단하고 싶은 SQLite 명령 프롬프트에서 명령을 작성하는 중에 실수를 저질렀습니다. 이것이 제 명령 줄의 모습입니다.
sqlite> select * from todos" ...> " ...> ;^C
이 경우 인용문을 열었 기 때문에 ENTER
를 눌러 명령을 실행할 수도 없습니다. 줄 연속을 얻으십시오. 잘못된 코드를 실행하고 원인과 오류를 실행해야하므로 프롬프트를 다시 제어해야하기 때문에 여전히 이상적이지 않습니다.
줄 / 명령을 취소하고 다시 반환하려면 어떻게해야합니까? 프롬프트에 표시 하시겠습니까?
댓글
Answer
sqlite3
인터페이스는 명령 줄 편집에 ReadLine 라이브러리를 사용합니다. 전체 줄을 지울 수 있습니다. h Ctrl + U 이지만 Enter 를 누르면 해당 행이 승인되어 더 이상 편집 할 수 없습니다.
알림 , Ctrl + D 를 보내면 클라이언트가 종료하라는 메시지가 표시되며 이는 원하는 것이 아닙니다.
최선의 선택
- 모든 문자열을 닫은 다음
- 최종
;
를 발행하기 전에 의도적 인 구문 오류를 생성하는 것입니다.
예 :
sqlite> select * from todos" ...> " ...> *** I made a mistake ...> ; Error: near "*": syntax error sqlite>
이렇게하면 아무것도 실행되지 않고 SQLite 세션에 남게됩니다. 임시 테이블은 그대로 둡니다.
댓글
- 감사합니다. 그게 최선의 해결 방법이라고 생각했습니다.
- 화살표 키 뒤에 입력합니다. 즉,
> ^[[A
와...>
와 같은 항목이있는 경우 괄호를 닫아 취소해야합니다.> ]];
이를 위해 실제로 Ctrl + C를 지원해야합니다. 이 방식은 ' 불쾌합니다.
sqlite
에 대한 stdin을 닫고 종료합니다. …