AWS CLI에는 주로 두 가지 방법으로 작은따옴표와 큰따옴표가 사용됩니다.
공백이 포함된 문자열 주위에 따옴표 사용
파라미터 이름과 그 값은 명령줄에서 공백으로 구분됩니다. 문자열 값에 공백이 있는 경우, AWS CLI에서 그 공백을 값과 다음 파라미터 이름 사이의 구분자로 잘못 해석하지 않도록 전체 문자열을 따옴표로 묶어야 합니다. 사용하는 따옴표 유형은 AWS CLI를 실행 중인 운영 체제에 따라 다릅니다.
작은따옴표(' '
)를 사용합니다.
$
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 및 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"}}]'
따옴표 사용에 대한 자세한 내용은 권장 셸에 대한 사용 설명서를 참조하세요.