본문 바로가기
삽질/Jupyter

[ Jupyter 삽질 ] Jupyter의 터미널에서 자동완성이 안될때

by SteadyForDeep 2021. 6. 1.
반응형

 

// 문제상황

 

 

^[[A, ^[[B, ^[[C, ^[[D 이런게 방향키를 누르면 나오고

 

탭을 하면 큼직한 공백이 생기는 문제가 발생했다.

 

 

// 해결법

 

아주 간단하다.

 

bash

 

라고 치고 앤터를 치면 끝난다.

 

진짜다.

 

 

// 원리

 

우리가 터미널이라고 하는 입력창은 tty의 일종으로

 

입력이 들어가면 그에대한 출력값을 보여주는 장치다.

 

그리고 입력과 출력에 대한 프로토콜이라고 해야하나 아무튼

 

해석을 위한 약속이 정해져 있는데 이 약속을 shell이라고 하고

 

shell 이 이해할 수 있는 스크립트를 shell script 라고 한다.

 

그러니까 우리는 shell이 해석할 수 있는 방식의 입력을 전송해야된다.

 

그런데 이 shell에는 여러가지 버전이 있고 그중에 하나가 바로 bash 이다.

 

그런데 일부 리눅스 혹은 도커이미지에서는

 

이 default shell을 dash 로 지정해 두는 경우가 있다.

 

 

^[[A 혹은 긴 공백과 같은 것은 우리가 키보드를 눌렀을때 전달되는 바로 그 값이고

 

이걸 dash가 해석하지 못했기 때문에 그냥 그대로 출력으로 보여주는 것이다.

 

하지만 bash에서는 이 커멘드를 해석하고

 

우리가 원하는 기능을 제공해 줄 수 있기 때문에

 

날 것 이 아니라 원하는 방식의 output을 줄 수 있게 된다.

 

따라서 dash가 실행된 터미널에서 bash 를 실행해 주면 해결되는 문제다.

 

 

// 참고

 

https://raspberrypi.stackexchange.com/questions/40166/what-does-a-mean-in-the-terminal

 

What does ^[[A mean in the terminal?

I pressed the up arrow to use my last command and ^[[A kept showing up. What does it mean?

raspberrypi.stackexchange.com

https://storycompiler.tistory.com/101

 

[Ubuntu/Linux] #!/bin/sh에 대한 간단한 이야기

우분투로 작업을 하다보면 필연적으로 쉘스크립트를 마주하게 됩니다. 쉘스크립트 파일을 열어보면 첫번째 줄에 주석 비스무레한 것이 있지요. '#'으로 시작하기 때문에 주석처럼 보이는 것인

storycompiler.tistory.com

 

반응형

댓글