쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS CLI에서 문자열에 따옴표와 리터럴 사용

포커스 모드

이 페이지에서

AWS CLI에서 문자열에 따옴표와 리터럴 사용 - AWS Command Line Interface

AWS CLI에는 주로 두 가지 방법으로 작은따옴표와 큰따옴표가 사용됩니다.

공백이 포함된 문자열 주위에 따옴표 사용

파라미터 이름과 그 값은 명령줄에서 공백으로 구분됩니다. 문자열 값에 공백이 있는 경우, AWS CLI에서 그 공백을 값과 다음 파라미터 이름 사이의 구분자로 잘못 해석하지 않도록 전체 문자열을 따옴표로 묶어야 합니다. 사용하는 따옴표 유형은 AWS CLI를 실행 중인 운영 체제에 따라 다릅니다.

Linux and macOS

작은따옴표(' ')를 사용합니다.

$ aws ec2 create-key-pair --key-name 'my key pair'

따옴표 사용에 대한 자세한 내용은 권장 셸에 대한 사용 설명서를 참조하세요.

PowerShell

작은따옴표(권장)

작은따옴표 ' 'verbatim 문자열이라고 합니다. 문자열은 입력한 그대로 명령에 전달됩니다. 즉, PowerShell 변수는 전달되지 않습니다.

PS C:\> aws ec2 create-key-pair --key-name 'my key pair'

큰따옴표

큰따옴표 " "expandable 문자열이라고 합니다. 변수는 확장 가능한 문자열로 전달될 수 있습니다.

PS C:\> aws ec2 create-key-pair --key-name "my key pair"

따옴표 사용에 대한 자세한 내용은 Microsoft PowerShell 문서에서 인용 규칙 정보를 참조하세요.

Windows command prompt

큰따옴표(" ")를 사용합니다.

C:\> aws ec2 create-key-pair --key-name "my key pair"

작은따옴표(' ')를 사용합니다.

$ aws ec2 create-key-pair --key-name 'my key pair'

따옴표 사용에 대한 자세한 내용은 권장 셸에 대한 사용 설명서를 참조하세요.

선택적으로, 공백 대신에 등호(=)를 사용하여 파라미터 이름을 값에서 분리할 수 있습니다. 일반적으로 파라미터 값이 하이픈으로 시작되는 경우에만 필요합니다.

$ aws ec2 delete-key-pair --key-name=-mykey

문자열 안에 따옴표 사용

문자열에는 따옴표가 포함될 수 있으며 셸이 제대로 작동하려면 따옴표를 이스케이프 처리해야 할 수 있습니다. 일반적인 파라미터 값 유형 중 하나는 JSON 문자열입니다. JSON 구조의 각 요소 이름과 값 주위에 공백과 큰따옴표(" ")가 포함되어 있기 때문에 복잡합니다. JSON 형식의 파라미터를 명령줄에 입력하는 방법은 운영 체제에 따라 다릅니다.

명령줄에서 고급 JSON을 사용하려면 명령줄 JSON 프로세서(예: jq)를 사용하여 JSON 문자열을 생성하는 것이 좋습니다. jq에 대한 자세한 내용은 GitHub에서 jq 리포지토리를 참조하세요.

Linux and macOS

Linux 및 macOS가 문자열을 문자 그대로 해석하는 경우 다음 예제와 같이 작은따옴표(' ')를 사용하여 JSON 데이터 구조를 묶습니다. 문자 그대로 처리되므로 JSON 문자열에 포함 된 큰따옴표를 이스케이프 처리할 필요가 없습니다. JSON은 작은따옴표로 묶여 있으므로 문자열의 모든 작은따옴표를 이스케이프 처리해야 합니다. 일반적으로 작은따옴표(\') 앞에 백슬래시를 사용하여 수행됩니다.

$ aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

따옴표 사용에 대한 자세한 내용은 권장 셸에 대한 사용 설명서를 참조하세요.

PowerShell

작은따옴표(' ') 또는 큰따옴표(" ")를 사용합니다.

작은따옴표(권장)

작은따옴표 ' 'verbatim 문자열이라고 합니다. 문자열은 입력한 그대로 명령에 전달됩니다. 즉, PowerShell 변수는 전달되지 않습니다.

JSON 데이터 구조에는 큰따옴표가 포함되어 있으므로 작은따옴표(' ')로 묶는 것이 좋습니다. 작은따옴표를 사용하는 경우 JSON 문자열에 포함된 큰따옴표를 이스케이프 처리할 필요가 없습니다. 그러나 JSON 구조 내에서 각 작은따옴표를 백틱(`)으로 이스케이프 처리해야 합니다.

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

큰따옴표

큰따옴표 " "expandable 문자열이라고 합니다. 변수는 확장 가능한 문자열로 전달될 수 있습니다.

큰따옴표를 사용하는 경우 JSON 문자열에 포함된 작은따옴표를 이스케이프 처리할 필요가 없습니다. 그러나 다음 예제와 같이 JSON 구조 내에서 각 큰따옴표를 백틱(`)으로 이스케이프 처리해야 합니다.

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings "[{`"DeviceName`":`"/dev/sdb`",`"Ebs`":{`"VolumeSize`":20,`"DeleteOnTermination`":false,`"VolumeType`":`"standard`"}}]"

따옴표 사용에 대한 자세한 내용은 Microsoft PowerShell 문서에서 인용 규칙 정보를 참조하세요.

주의

PowerShell은 AWS CLI에 명령을 보내기 전에 일반적인 PowerShell 또는 CommandLineToArgvW 따옴표 넣기 규칙을 사용하여 명령을 해석할지 결정합니다. PowerShell이 CommandLineToArgvW를 사용하여 처리하는 경우 백슬래시(\)로 문자를 이스케이프 처리해야 합니다.

PowerShell의 CommandLineToArgvW에 대한 자세한 내용은 Microsoft DevBlogsWhat's up with the strange treatment of quotation marks and backslashes by CommandLineToArgvW, Microsoft Docs BlogEveryone quotes command line arguments the wrong wayMicrosoft DocsCommandLineToArgvW 함수를 참조하세요.

작은따옴표

작은따옴표 ' 'verbatim 문자열이라고 합니다. 문자열은 입력한 그대로 명령에 전달됩니다. 즉, PowerShell 변수는 전달되지 않습니다. 백슬래시(\)로 문자를 이스케이프 처리합니다.

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings '[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]'

큰따옴표

큰따옴표 " "expandable 문자열이라고 합니다. 변수는 expandable 문자열로 전달될 수 있습니다. 큰 따옴표로 묶인 문자열의 경우 백틱만 사용하는 대신 각 따옴표에 대해 '\를 사용하여 두 번 이스케이프 처리해야 합니다. 백틱은 백슬래시를 이스케이프하며, 백슬래시는 CommandLineToArgvW 프로세스의 이스케이프 문자로 사용됩니다.

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings "[{`\"DeviceName`\":`\"/dev/sdb`\",`\"Ebs`\":{`\"VolumeSize`\":20,`\"DeleteOnTermination`\":false,`\"VolumeType`\":`\"standard`\"}}]"

Blob(권장)

JSON 데이터 입력에 대한 PowerShell 따옴표 넣기 규칙을 무시하려면 Blob을 사용하여 JSON 데이터를 AWS CLI에 직접 전달합니다. Blob에 대한 자세한 내용은 Blob 섹션을 참조하세요.

Windows command prompt

Windows 명령 프롬프트에서는 JSON 데이터 구조를 묶을 큰따옴표(" ")가 필요합니다. 또한 명령 프로세서가 JSON에 포함된 큰따옴표를 잘못 해석하지 않도록 다음 예제와 같이 JSON 데이터 구조 자체에서도 각각의 큰따옴표(\)를 이스케이프 처리해야 합니다(앞에 백슬래시["] 문자 추가).

C:\> aws ec2 run-instances ^ --image-id ami-12345678 ^ --block-device-mappings "[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]"

가장 바깥쪽 큰따옴표만 이스케이프되지 않습니다.

Linux 및 macOS가 문자열을 문자 그대로 해석하는 경우 다음 예제와 같이 작은따옴표(' ')를 사용하여 JSON 데이터 구조를 묶습니다. 문자 그대로 처리되므로 JSON 문자열에 포함 된 큰따옴표를 이스케이프 처리할 필요가 없습니다. JSON은 작은따옴표로 묶여 있으므로 문자열의 모든 작은따옴표를 이스케이프 처리해야 합니다. 일반적으로 작은따옴표(\') 앞에 백슬래시를 사용하여 수행됩니다.

$ aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

따옴표 사용에 대한 자세한 내용은 권장 셸에 대한 사용 설명서를 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.