셸 스크립팅 · 변수와 조건 · 퀴즈
퀴즈: 변수와 조건
문항 5개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
FILE='My Report.pdf' 일 때 rm $FILE 이 실패하는 이유는?
- 파일 이름에 대문자가 있어서
- rm 이 공백이 든 파일 이름을 지원하지 않아서
- 작은따옴표로 대입해서 값이 비어 있기 때문
- 변수 치환 후 공백 기준 단어 분리가 일어나 인자가 두 개가 되기 때문
${VAR:-기본값} 과 ${VAR:=기본값} 의 차이는?
- 앞은 변수에 값을 남기고 뒤는 남기지 않는다
- 뒤는 변수에 기본값을 실제로 할당하고 앞은 그 자리에서만 대신 쓴다
- 앞은 비어 있을 때, 뒤는 정의되지 않았을 때만 동작한다
- 차이가 없고 표기만 다르다
스크립트의 사용법 안내를 표준출력이 아니라 표준에러로 보내야 하는 이유는?
- 표준에러가 더 빠르게 출력되기 때문
- 표준출력은 파일로만 보낼 수 있기 때문
- 터미널에서 색상을 쓰려면 표준에러여야 하기 때문
- result=$(script.sh) 처럼 결과만 캡처하는 사용법이 깨지지 않게 하려고
bash 스크립트에서 [ ] 보다 [[ ]] 가 안전한 주된 이유는?
- 더 빠르게 실행되기 때문
- 안에서 단어 분리와 글로빙이 일어나지 않기 때문
- POSIX 표준이라 이식성이 높기 때문
- 종료 코드를 더 정확하게 반환하기 때문
if [ -e /var/log ] 로 '일반 파일이 있는지' 검사했더니 디렉터리에도 참이 나왔습니다. 무엇을 써야 하나요?
- -d
- -s
- -f
- -r