문제
다음 명령의 결과에 대한 설명으로 가장 알맞은 것은?
① 사용자가 로그인 시에 부여받은 셸 정보가 출력된다. ② 사용자가 현재 사용하고 있는 셸 정보가 출력된다. ③ 사용자가 변경할 수 있는 셸 정보가 출력된다. ④ 화면에 어떠한 결과도 출력되지 않는다.
정답
1번
해설
정답: 1. SHELL 환경변수에는 로그인 시 부여받은 기본 로그인 셸의 경로(예: /bin/bash)가 들어 있다. echo $SHELL 은 그 값을 출력한다.
오답 풀이
- 1번: $SHELL 은 로그인 시 부여된 셸 정보를 담으므로 그 값을 출력한다는 설명이 옳다.
- 2번: "현재 사용 중인 셸" 은 $SHELL 이 아니라 실제 실행 중인 셸 프로세스(ps 로 확인)를 의미하며, $SHELL 은 로그인 셸을 가리킨다.
- 3번: 변경 가능한 셸 목록은 /etc/shells 에서 확인하는 것이지 $SHELL 출력 결과가 아니다.
- 4번: $SHELL 에는 값이 설정되어 있으므로 결과가 출력된다(빈 출력이 아님).
보충 개념 $SHELL = 로그인 시 부여된 기본 셸(설정값). 임시로 다른 셸을 띄워 작업 중이면 실제 프로세스(ps 결과)와 $SHELL 값이 다를 수 있다.