카테고리: 프로그래밍 기술

안녕하세요. 언제나 휴일의 언휴예요. 앞으로 여러분과 함께 리눅스에서 쉘 프로그래밍을 안내할게요.

 

쉘이란 사용자 명령을 분석하여 운영체제에게 전달하는 소프트웨어를 말합니다. 흔히 명령어 해석기라고 부르죠. 리눅스에는 bash, csh, tcsh 등의 여러 종류의 쉘이 있어요. 여기에서는 bash를 기준으로 설명해 나갈거예요.

 

먼저 자신의 시스템에 사용 가능한 쉘을 확인 해 보아요. /etc/shells에 사용 가능한 로긴 쉘 목록이 쓰여져 있습니다. cat 명령을 이용하여 /etc/shells의 내용을 확인해 보세요.

$ cat /etc/shells

 

[그림 1] 사용 가능한 쉘 확인하기
[그림 1] 사용 가능한 쉘 확인하기

그리고 디폴트 쉘을 확인할 때는 SHELL 변수의 값을 출력하세요. 콘솔에 출력하는 명령은 echo이며 변수를 표현할 때는 앞에 $를 붙입니다.

$ echo $SHELL

[그림 2] 디폴트 쉘 확인하기
[그림 2] 디폴트 쉘 확인하기

이번에는 특정 계정의 로긴 쉘을 확인합시다. 각 계정의 로긴 쉘 정보는 /etc/passwd에 있어요. cat /etc/passwd 명령을 통해 전체 계정의 로긴 쉘 정보를 확인할 수 있어요. 만약 특정 계정의 로긴 쉘 정보를 확인하고 싶다면 grep 명령을 이용하세요. grep <계정명> /etc/passwd 을 통해 특정 계정의 로긴 쉘을 확인할 수 있어요.

[그림 3] passwd 파일에서 로긴 쉘 확인하기
[그림 3] passwd 파일에서 로긴 쉘 확인하기

이번에는 로긴 쉘을 변경해 보아요. 로긴 쉘을 변경하는 명령은 chsh입니다. 인자없이 chsh를 입력하여 명령하면 자신의 로긴 쉘을 변경합니다. 중간에 비밀번호를 입력을 요구할 수 있으며 이 후에 변경하고자 하는 쉘을 입력합니다. 만약 chsh 명령 뒤에 계정을 입력하면 원하는 계정의 로긴 쉘을 변경할 수 있어요.

[그림 4] chsh 명령으로 로긴 쉘 변경하기
[그림 4] chsh 명령으로 로긴 쉘 변경하기