쉘에서 svn은 어떻게 자동완성이 되는걸까요?

hwiorb의 이미지

아래와 같이 쉘 상에서 svn c를 쓴 뒤, tab을 누르면 쓸 수 있는 명령 목록이 나옵니다
$> svn c[tab]
cat checkout cl co copy
changelist ci cleanup commit cp

게다가, svn up --accept 다음에 tab을 누르면
$> svn up --accept [tab]
base edit launch mine-full postpone theirs-full

이 나옵니다.

제가 만든 스크립트에 이렇게 자동완성을 넣어서 사용하고 싶은데,
어떻게 하면 되는걸까요?

마잇의 이미지

bash completion 으로 검색해 보시면 어디서 시작하실지 도움이 되실 겁니다.

그 기능은 bash 쉘의 자동완성 기능입니다.


--
마잇

익명 사용자의 이미지

PIPE로 구현했을 것 같은데요(bash completion이라는 것도 역시)
리차드 스티븐스의 APUE2 책에 원리가 자세히 나옵니다.