[질문] bash 배쉬 자동완성
글쓴이: doodoo / 작성시간: 화, 2010/08/24 - 4:33오후
최근에 우분투 10.04 버젼으로 옮겨왔습니다.
그런데...파일명 자동완성이 전과 달라졌군요...
doodoo@doodoo:~/tmp$ ll 합계 0 -rw-r--r-- 1 doodoo doodoo 0 2010-08-24 16:11 (kk kk)kk -rw-r--r-- 1 doodoo doodoo 0 2010-08-24 16:11 aa bb
이런 파일을 가상으로 만들고.....
doodoo@doodoo:~/tmp$ ls aa[여기서 텦키] aa bb
이건 되죠...근데...
doodoo@doodoo:~/tmp$ ls '(kk[여기서 텦키] doodoo@doodoo:~/tmp$ > ^C doodoo@doodoo:~/tmp$
이게 안됩니다...전에는 됐었는데.....
doodoo@doodoo:~/tmp$ \ls '(kk[여기서 텦키] (kk kk)kk
위 처럼 ls 앞에 역슬레쉬를 붙이면 됩니다...
이것이 무슨 조화인지...
Forums:
ls 앞에 역슬레시를
ls 앞에 역슬레시를 붙이는 건 alias로 알고 있습니다.
즉 그냥 ls는 alias된 ls 명령, \ls는 원래의 ls.
alias를 확인해 보면 어떨까요?
제 알리아스
제 알리아스 입니다...
기본 ls --color=auto 밖에는 없어요...
* 중요한 것은 전에는 잘 되었다는거죠...우분투 10.04에서만 이럽니다.
$ complete ...
$ complete
...
~/.bash_complete 같은 거 만들어서 bash 로그인시에 읽어들이시면 될 것 같네요.
$ echo 'test -f ~/.bash_complete && . ~/.bash_complete || true' >> ~/.bashrc
직접 함수 작성하시거나 좀 더 자세히 알고 싶으시면 http://www.debian-administration.org/articles/316 참고하세요. :)
--
I think to myself...what a emerging world.
--
I think to myself...what a emerging world.
감사합니다. 일단
감사합니다.
일단 기본적으로 ~/.bashrc에 /etc/bash_completion 을 로드 하게끔 되어있군요..
.bashrc 의 일부
그리고 complete -p 명령으로 프린트 해보면...상당히 여러 경우에 대해 자동완성 조건이
구성 된것을 볼수도 있구요...
/etc/ 아래에 관계된 파일들을 보면..
중에서 profile 에는 그냥 bash.bashrc 를 읽도록 되어 있으며 bash.bashrc 파일은
bash_completion 부분을 읽는것이 막혀 있지만
결과적으로 홈 디렉토리의 .bashrc 파일에서 읽으니 상관없을것 같는데...
제 생각으로는 설정은 되어 있지만 설정 내용 부분에서 파일 이름을 찿는 방식이 바뀌지
않았나 추측만 하게 되는군요
하지만 9.04(전에 쓰던 우분투) 때의 bash_completion 의 내용과 bash_completion.d 안의 내용을
비교해 볼수 없으니....ㅠㅠ
PS 이것은 ls 및 cd 명령 등에서 일어나는 공통 현상입니다...특히 cd 할때 저러니...상당히 불편하네요
( 가 문제가 되는 것
( 가 문제가 되는 것 같네요..
'( 대신에 \( 를 쓰면 잘 됩니다..
\ls 와 ls 가 다르게 동작하는것은 신기하네요..
bash 버젼에 따른것을
bash 버젼에 따른것을 확인할려고 제 사무실의 피시에 있는 cygwin 의 bash 버젼을 보니
3.9-3 버젼이군요... 이것은 위의 문제가 없습니다....이상혀~~~
댓글 달기