문제
다음 명령의 결과로 알맞은 것은?
① lin ② echo ③ user ④ 화면에 아무것도 출력되지 않는다.
정답
3번
해설
정답: 3. echo 의 인자가 "user"(달러 기호 $ 없이)이므로 변수 치환이 일어나지 않고 문자열 그대로 출력된다. 따라서 화면에는 "user" 가 출력된다.
오답 풀이
- 1번: "lin" 이 출력되려면 변수 값을 참조하는 "echo $user" 여야 한다.
- 2번: "echo" 는 명령 이름일 뿐 출력 결과가 아니다.
- 3번: $ 없이 "echo user" 라 변수 치환 없이 문자열 user 가 그대로 출력되므로 옳다.
- 4번: echo 는 인자를 그대로 출력하므로 빈 출력이 아니다.
보충 개념 셸에서 변수 값을 꺼내려면 반드시 $ 를 붙인다($user 또는 ${user}). $ 없이 쓰면 단순 문자열로 취급된다. user=lin 처럼 = 좌우에 공백이 없어야 변수 할당이 된다.