Select Page

macOS 터미널 bash 업그레이드 및 자동 완성 설정하기

macOS에 기본적으로 포함된 bash셸은 macOS 10.13.15(베타) 기준으로 3.2.x  버전입니다. 버전이 낮아도 필요한 기능들만 잘 지원되면 그냥 사용하겠지만, 한글 파일/폴더 이름에 대한 자동 완성이 제대로 되지 않는 문제점을 가지고 있습니다. 예를 들어, 터미널 밖에서 생성한 한글 파일/폴더 이름은 터미널에서 자동 완성으로 처리되지 않고, 오직 터미널(또는 셸) 내에서 생성한 한글 파일/폴더만 인식됩니다.

이를 패치하기 위해 여러 가지 방법을 시도해 보았으나 해결하지 못했고, 다른 방법이 있음에도 불구하고 계속해서 시간 낭비하는 것은 무의미한 것 같아 bash 3.2.x와의 신경질 나는 싸움은 그만두었습니다.

여하튼, 가장 간단하게 bash셸이 모든 한글 파일/폴더 이름을 인식하고 자동 완성 처리( TAB키) 되도록 하려면 bash 셸을 최신 버전으로 업그레이드하고 .inputrc파일(Readline Init File)에 자동 완성 설정을 추가해 주면 됩니다.

  • 최신 bash 셸로 업그레이드하기

macOS에서 기본적으로 제공하지 않는 내부 패키지들은 Homebrew를 이용하면 쉽게 설치 및 관리할 수 있습니다. 최신 bash셸 역시 Homebrew를 이용하면 간단히 설치할 수 있습니다. 만약 Homebrew를 아직 설치하지 않았다면 터미널에서 다음 명령을 실행합니다.

Xcode Command Line Tools 가 설치되지 않았다면 먼저 다음 명령을 실행합니다.

Homebrew 설치하기


만약, 나중에 Homebrew를 언인스톨하고자 한다면, 제거하기 전에 Homebrew를 통하여 설치한 모든 패키지를 먼저 제거하는 것이 좋습니다. 일일이 설치된 파일 및 폴더를 제거하는 것은 시간 낭비가 될 수 있습니다.

Homebrew를 통해 설치한 모든 패키지 제거


만약, 나중에 Homebrew를 언인스톨하고자 한다면, 제거하기 전에 Homebrew를 통하여 설치한 모든 패키지를 먼저 제거하는 것이 좋습니다. 일일이 설치된 파일 및 폴더를 제거하는 것은 시간 낭비가 될 수 있습니다.

Homebrew 제거하기

최신 bash 셸 설치하기

설치한 최신 bash 셸을 기본 셸로 지정하기


혹시 나중에 마음이 변하여 macOS 기본 bash셸 버전으로 돌아가고자 한다면 다음 명령을 실행합니다.


/etc/shells에 추가된 /usr/local/bin/bash를 제거하려면 vim(또는 nano등)을 이용하여 파일을 수정해 줍니다.


화살표 키로 /usr/local/bin/bash 줄로 이동한 후, d를 2회 연속으로 누르고(줄 삭제), :wq!를 차례로 입력합니다.

  • bash 셸의 자동 완성 설정


혹시 나중에 자동 완성 기능을 없애거나 초기 macOS 상태로 돌려놓고 싶다면 다음 명령을 차례로 실행합니다.


또는 키보드 입력에 대해 보다 세부적으로 설정하고자 한다면 [여기]를 참고하여 사용자 계정의 홈 폴더에 위치한 .inputrc 파일을 수정합니다. (만약 없다면 새로 생성합니다.)

bash 셸 한글 폴더 이름 자동 완성 테스트

About The Author

ssumer

Web Developer at University of Hawaii at Manoa, 저서: Mac QnA 실무 테크닉, Mac OS X 길라잡이(정보 문화사), Mac OS X 실무테크닉(성안당) / 기술 감역: 인텔 리얼센스 SDK 센서 프로그래밍(정보 문화사), 예제가 가득한 PHP 프로그래밍(정보 문화사), iPhone 가이드(성안당)

Leave a reply

Your email address will not be published. Required fields are marked *