본문 바로가기

Programming/Bash

[BASH] 기본 BASH 업그레이드 및 활용하기

맥에 기본으로 깔려 있는 bash 를 업그레이드 해 보려고 한다.

우선 현재 깔려 있는 bash 버전을 확인해 보았다. 3.2.57 버전이 기본으로 맥에 깔려 있다.
그럼 bash 를 왜 업그레이드 해야 할까?
대부분의 이용자에게 별 문제없는 기능중 하나일 것이다. 그렇지만 터미널을 많이 사용하는 이들에겐 최신 bash 기능이 없을때 아쉬울 수가 있다.

그 중 bracket expansion 기능을 알아보자. {} 문자를 이용해서 범위를 지정할 수 있는 기능이다. {시작..끝} 이렇게 범위를 지정해서 사용하면 알아서 채워준다.

이와 같은식으로 사용할 수 있다.


어디에 활용할 수 있을까? 파일 이름에 숫자가 이어지는 파일을 한 50개 만들고 싶다고 한다면 아래와 같이 하면 된다.

맥에 기본으로 깔려 있는 bash 는 여기까지가 한계이다.

그럼 bash 업그레이드하면 뭐가 차이가 날까? bash 4.x.x 는 {시작..끝..단계}를 가능하게 한다. 가령 {1..1000..3}이렇게 지정하면 3의 배수로 건너뛴다.



bash 를 업그레이드 하기 위해서는...?


우선 Homebrew 가 설치되어 있어야 한다. 아래 링크를 참조하여 Homebrew를 설치하면 된다.

[MAC TIP] Mac에 Homebrew 설치하기

homebrew 가 설치 되었다면

1.homebrew install bash   <- 이렇게 터미널에 넣으면 자동으로 설치를 해준다.


homebrew 패키지는 /usr/local 아래에 설치가 된다. 그래서 설치가 완료된 /etc/shells에 새로 설치한 bash를 등록해 주어야 사용할 수 있다. 새 bash 는 /usr/local/bin/bash 이다.

2. sudo vi /etc/shells

이 명령어를 넣으면 아래와 같은 화면이 뜬다.

3. 여기에서 제일 아래줄에 /usr/local/bin/bash 를 넣고 저장하면 된다.

4. 저장을 해 주었다면 기본 쉘을 바꾸어 주면 된다. 그러기 위해서    chsh 명령어를 넣으면 된다.

5. password 를 물어보면 넣어준다.

6. Shell: 여기에 기본쉘로 사용할 bash 를 넣어 준다.

7. 기본 쉘을 등록했다면 저장 후 나오면 끝난다.

8. 버전 확인을 해 보니 4.3.42 버전의 쉘이라고 친절히(?) 알려준다.


그럼 3.x 버전의 쉘에서는 안되는 기능을 4.x 에서 구현해 보자. 

echo {A..Z..2} 이라고 넣어봤다. 보이시는가 위의 그림처럼 잘 나온다.

이번에는 숫자로 해 보았다. 역시 잘 구동한다.

프로그래밍 언어로 range 를 설정하는것은 많이 사용하지만, 손쉽게 간단히 쉘로 할 수 있는 것은 이 기능 업그레이드 만으로 충분히 할 수 있기에 빠르게 해결 가능하다.

조금이나마 이 기능을 필요로 하는 사람에게 도움이 되기를...