명령 행 완성 기능

명령 행 완성 기능

-명령어의 일부만 입력하고 나머지를 자동으로 완성하는 기능
-사용법 : 처음 몇 자 입력 후 tab 키를 눌러 실행
-정보가 충분하지 않은 경우 tab 키를 한 번 더 누르면, 모든 경우의 수를 보여주고 원래의 명령 행이 유지됨

자동 완성 기능 대상

대상 설명
명령어, alias, 함수 - 보통 문자로 시작하는 경우 이들을 우선순위로 판단한다.
변수 - 달러($) 기호로 시작하는 경우, 현재 셸의 변수로 판단한다.
디렉터리 - 틸드(~) 문자로 시작하는 경우 디렉터리로 판단한다.
- ~username 은 지정된 사용자의 홈 디렉터리
- 마이너스(-) 기호는 이전 작업 디렉터리를 표시한다.
호스트 이름 - at(@) 기호로 시작하는 경우, /etc/hosts 파일에 기록된 호스트 이름으로 판단한다.

예시

(1) 자동 완성 기능 대상들의 자동 완성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 명령어
whoa + tab + enter
>> <user>

# 변수
echo $HISTS + tab + enter
>> 1000

# 디렉터리
ls ~us + tab + enter
>> docker   docker-compose  docker_mounts ..

# 호스트 이름
@loc + tab + enter
-bash: @localhost: command not found

(2) 자동 완성 기능 대상이 다수인 경우

1
2
3
4
wh + tab + tab
>> whatis         which          who
>> whatis.man-db  while          whoami
>> whereis        whiptail 

(3) 자동 완성 기능 대상이 없는 경우

1
2
heywhatis +tab +tab +tab ...
# 반응 없음

Reference

UNIX시스템 - 김희천,김진욱 저