단일 vs 이중 따옴표: 명령줄과 R

R-Blogger · 블로그·해설 · 2026-04-29

R-Blogger블로그·해설한국어2026-04-29

단일 vs 이중 따옴표: 명령줄과 R

명령줄 인자와 R에서 따옴표 사용 차이 프로그램에 명령줄 인자를 전달할 때, single quotes(')와 double quotes(")는 중요한 차이를 가집니다. 쉘 규칙 Shell에서는 single quotes(')를 사용하면 어떠한 문자도 escape할 수 없으며, 그 내용이 그대로 해석됩니다. 반면에 double quotes(")는 문자 escape와 변수 확장을 허용합니다. printf "%s\n" '\+hello' # single quotes 사용 # 출력: \+hello printf "%s\n" "\+hello" # double quotes 사용 # 출력: \+hello 두 명령 모두 \+hello 문자열이 프로그램에 전달됩니다. 전자는 그대로 읽히고, 후자는 쉘이 이중 백슬래시를 하나의 문자로 해석한 뒤 전달합니다. R 콘솔 규칙 R 콘솔에서 직접 입력할 때는 R 자체 문자열 리터럴 문법을 따라야 합니다. 대부분의 프로그래밍 언어와 마찬가지로 R은 백슬래시(\\)를 escape 문자로 사용합니다. 따라서 R 콘솔에 "\."를 입력하면 R이 바로 해석하여 “\.”라는 escape 시퀀스가 없다고 경고를 표시하고 실제 문자열에는 백슬래시가 들어가지 않습니다. myregexp = "^planet\.name$" 이 예에서 문자열은 ^planet\\.name$(백슬래시 하나)를 포함합니다. 이후 regex 함수에 전달되면 \. 시퀀스가 “문자 그대로의 점”으로 해석됩니다. R 스크립트에 명령줄 인자 전달 R 스크립트를 실행하고 명령줄에서 파라미터를 전달할 때는 쉘 규칙이 적용됩니다. 다음 예제를 보세요. ## test_args.R args = commandArgs(trailingOnly = TRUE) cat("Argument received by R:", args[1], "\n") 터미널에서 실행: # single quotes 사용 Rscript test_args.R '\+hello' # 출력: Argument received by R: \+hello # double quotes 사용 Rscript test_args.R "\+hello" # 출력: Argument received by R: \+hello 명령줄에서 정규식을 전달하려면 쉘 따옴표 규칙을 따라야 하며, R에서 받은 문자열 \+hello는 +hello를 정확히 일치시킵니다. 관련 내용은 Zhenguo Zhang의 블로그에서도 확인할 수 있습니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2026-04-29