문제
다음 중 bash에서 os라는 셸 변수에 linux라는 값을 선언하는 방법으로 알맞은 것은?
① os=linux ② set os=linux ③ unset os=linux ④ env os=linux
정답
1번
해설
정답: 1. bash에서 변수는 "변수명=값" 형식으로 선언하며, 등호 양쪽에 공백을 두지 않는다. 따라서 os=linux 가 올바르다.
오답 풀이
- 1번: os=linux 는 bash의 표준 변수 대입 형식이므로 옳다.
- 2번: "set os=linux" 는 csh/tcsh 계열의 변수 선언 방식이며 bash에서는 그렇게 동작하지 않는다.
- 3번: unset 은 변수를 "해제(삭제)"하는 명령이라 값을 선언하는 용도와 정반대이다.
- 4번: "env os=linux" 는 그 명령에 한해 임시 환경변수를 적용해 실행할 때 쓰는 형태로, 셸 변수 선언과 다르다.
보충 개념 bash에서 선언한 변수를 자식 프로세스까지 전달하려면 export os 또는 export os=linux 로 환경변수화한다. csh/tcsh는 set(셸 변수)·setenv(환경변수)를 쓴다.