구글애드센스


리눅스 쉘상에서 단축키 사용하는 법. STUDY



kldp에 내가 올려뒀던 글에 "아빠곰" ID를 쓰시는 분께서 답글로 어떤 링크를 주셨다.

영문 링크라 ...좀 난감(..)했지만 노력해서 읽어서 성공하여 이 글을 포스트 하노라.
일단 출처는 http://tldp.org/LDP/LG/issue55/henderson.html <- 여기가 원문이고,
하단부에 좀 더 자세한 정보를 위한 링크는 죽어있는 것 같다.

어쨌거나... 본론으로 들어가서.

내가 즐겨하는 개발환경은

    1. Vmware에 Host를 얹고, 그게 Fedora든 Ubuntu든 상관 없다.
    2. 넷사랑이라는 멋진 기업에서 만든 멋진 XShell이라는 프로그램으로 SSH 접속.
    3. 당연히 컴파일 환경은 arm-linux 기반의 make파일과 적절한 스크립트 노가다.

정도이다.

매번 make / make clean / make install / cp 어쩌구 저쩌구 /
하는 짓들이 귀찮다면 너무나 너무나 너무나 너무나 너무나 X 100000000 귀찮기 때문에 간단하게
make하는 일을 단축키정도로 바꿀수 있지 않을까 싶어 질문을 올렸던 것이 바로...
http://kldp.org/node/114941 <- 요글.

암튼 최상위 링크의 글을 보면,
홈디렉토리의 .inputrc 파일에 뭔가 장난질을 해줌으로써 쉘 상에서 단축키를 등록 가능함을 알 수 있다.


결론부터 얘기하자면 ....

    1. ~/.inputrc 파일을 생성한다. 없으면 새로 만들고 없으면 열어라.
    2. 다음과 같은 형식으로 입력하라.
    "\e[[A":"ps -a --forest\C-M"
    3. 위를 해석하자면 F1 키를 ps -a --forest 의 단축키로 만들어라~ 라는 뜻이므로,

요딴식으로 만들면 된단다.

tldp의 링크에 따르면

사실 linux 터미널은 F1키를 눌렀을때 Escape-[-[-A 키를 보낸다고 한다. 그래서 저 키를 눌렀을때 ps -a --forest
라는 것이 자동으로 입력되게 쉘단에서 뭔가 장난을 치는 것 같고 뒤의 역슬래쉬 C-M이란건 캐리지리턴이다.

저렇게 적용하고, source 명령어를 날리는 것은 적용이 되지 않는 것으로 보이고
새로 SSH 접속을 해야만 적용되는 것처럼 보인다.

뭐.. 여기까지만 해서 되는거면 애초에 글도 안적지 -_-)r

처음에 내가 xshell로 접속해서 아무리 저렇게 해봐도 띡띡~ 소리만 나지 되질 않더라.
그래서 계속 삽질의 삽질을 연속하다보니 "스크립트 상에서 직접 키를 받아보자!" 라는 생각이 들었다.

그래서 간단하게,

!/bin/bash
read AA

라는 두줄짜리 스크립트를 만들어 놨더니 역시나... F1 키를 눌렀을때 제대로 그 키에 맵핑되는 데이터가 오질 않더라.
아무래도 터미널 에뮬레이션이 잘못되어있는 것 같다라는 생각이 들어
다음 그림과 같이..


터미널 종류를 linux로 바꿔줬더니 아주 잘 된다. :)

참고로 F1키는 위처럼 Escape-[-[-A 를 보내고 F2는 Escape-[-[-B F3은 Escape-[-[-C 순서다.
(중간에 숫자로 바뀌긴 한다.)

여튼 그렇게 하야~ 간단하게 F1키를 누름으로써 컴파일이 되어 tftpboot나 nfs로 파일을 전송하도록 만들었다.




..막상 만들어놓으니 오히려 좀 불편한 감이 있다-_-;


덧글

댓글 입력 영역