Linux와 커맨드 라인 기초
$ cat s.sh
#!/bin/bash
echo "$# $1"
$ ./s.sh a "b c" d위와 같이 스크립트 s.sh를 인수를 붙여 실행했을 때의 출력으로 올바른 것은?
- A3 ./s.sh
- B3 a
- C4 a
정답과 해설 보기
정답: B. 3 a
스크립트 안에서는 $1, $2 …가 첫 번째, 두 번째 인수, $#가 인수의 수, $0이 스크립트 자신의 이름을 나타냅니다. "b c"는 큰따옴표로 감싸여 있으므로 공백을 포함한 하나의 인수가 되며, 인수는 a, b c, d의 3개입니다. 따라서 $#는 3, $1은 a이며, 출력은 3 a가 됩니다. 모든 인수를 구분을 유지한 채 다른 명령에 넘길 때는 "$@"라고 씁니다.