Usando aspas e literais com cadeias de caracteres no AWS CLI - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando aspas e literais com cadeias de caracteres no AWS CLI

Há duas formas principais de usar aspas simples e duplas na AWS CLI.

Uso de aspas em torno de strings que contêm espaços em branco

Os nomes dos parâmetros e valores são separados por espaços na linha de comando. Se um valor de string contiver um espaço incorporado, você deverá colocar toda a string entre aspas para evitar que o interprete mal o AWS CLI espaço como um divisor entre o valor e o próximo nome do parâmetro. O tipo de aspa que você usa depende do sistema operacional AWS CLI em que você está executando.

Linux and macOS

Uso de aspas simples ' '

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

Para obter mais informações sobre como usar aspas, consulte a documentação do usuário para o seu shell preferido.

PowerShell

Aspas simples (recomendado)

As aspas simples ' ' são chamadas de strings verbatim. A string é passada para o comando exatamente como você a digita, o que significa que PowerShell as variáveis não passarão.

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

Aspas duplas

As aspas duplas " " são chamadas de string expandable. As variáveis podem ser passadas em strings expansíveis.

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

Para obter mais informações sobre o uso de aspas, consulte Sobre as regras de cotação no Microsoft PowerShell Docs.

Windows command prompt

Uso de aspas duplas " ".

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

Opcionalmente, você pode separar o nome de parâmetro do valor com um sinal de igual =, em vez de um espaço. Isso geralmente é necessário apenas se o valor do parâmetro começa com um hífen.

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

Uso de aspas dentro de strings

As strings podem conter aspas, e seu shell pode exigir aspas de escape para que funcionem corretamente. Um dos tipos comuns de valor de parâmetro é uma JSON string. Isso é complexo, pois inclui espaços e aspas duplas " " ao redor do nome e valor de cada elemento na JSON estrutura. A forma como você insere os parâmetros JSON formatados na linha de comando varia de acordo com o sistema operacional.

Para um JSON uso mais avançado na linha de comando, considere usar um JSON processador de linha de comando, por exemplojq, para criar JSON cadeias de caracteres. Para obter mais informações sobrejq, consulte o repositório jq em. GitHub

Linux and macOS

Para que o Linux e o macOS interpretem cadeias de caracteres literalmente, use aspas simples ' ' para delimitar a estrutura de JSON dados, como no exemplo a seguir. Você não precisa escapar das aspas duplas incorporadas na JSON string, pois elas estão sendo tratadas literalmente. Como o JSON está entre aspas simples, todas as aspas simples na string precisarão ser escapadas, isso geralmente é feito usando uma barra invertida antes das aspas simples. \'

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

Para obter mais informações sobre como usar aspas, consulte a documentação do usuário para o seu shell preferido.

PowerShell

Use aspas simples ' ' ou aspas duplas" ".

Aspas simples (recomendado)

As aspas simples ' ' são chamadas de strings verbatim. A string é passada para o comando exatamente como você a digita, o que significa que PowerShell as variáveis não passarão.

Como as estruturas de JSON dados incluem aspas duplas, sugerimos aspas simples ' ' para incluí-las. Se você usar aspas simples, não precisará escapar das aspas duplas incorporadas na JSON string. No entanto, você precisa escapar de cada aspa com uma crase ` dentro da JSON estrutura.

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

Aspas duplas

As aspas duplas " " são chamadas de string expandable. As variáveis podem ser passadas em strings expansíveis.

Se você usar aspas duplas, não precisará escapar das aspas simples incorporadas na JSON string. No entanto, você precisa escapar de cada aspa dupla com uma crase ` dentro da JSON estrutura, como no exemplo a seguir.

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

Para obter mais informações sobre o uso de aspas, consulte Sobre as regras de cotação no Microsoft PowerShell Docs.

Atenção

Antes de PowerShell enviar um comando para o AWS CLI, ele determina se seu comando é interpretado usando regras típicas PowerShell ou de CommandLineToArgvW aspas. Ao PowerShell processar o usoCommandLineToArgvW, você deve escapar de caracteres com uma barra invertida\.

Para obter mais informações sobre CommandLineToArgvW PowerShell, consulte O que está acontecendo com o estranho tratamento de aspas e barras invertidas por CommandLineToArgv W no Microsoft DevBlogs, Todos citam argumentos da linha de comando da maneira errada no blog do Microsoft Docs e a função CommandLineToArgvW no Microsoft Docs.

Aspas simples

As aspas simples ' ' são chamadas de strings verbatim. A string é passada para o comando exatamente como você a digita, o que significa que PowerShell as variáveis não passarão. Caracteres de escape com barra invertida \.

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

Aspas duplas

As aspas duplas " " são chamadas de string expandable. As variáveis podem ser passadas em strings expansíveis. Para cadeias de caracteres com aspas duplas, você precisa escapar duas vezes usando `\ para cada citação em vez de usar apenas uma crase. O backtick escapa da barra invertida e, em seguida, a barra invertida é usada como um caractere de escape para o processo CommandLineToArgvW.

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

Blobs (recomendados)

Para ignorar as regras de PowerShell cotação para entrada de JSON dados, use Blobs para passar seus JSON dados diretamente para o. AWS CLI Para obter mais informações sobre o Blobs, consulte Blob.

Windows command prompt

O prompt de comando do Windows exige aspas duplas " " para delimitar a estrutura de JSON dados. Além disso, para evitar que o processador de comandos interprete mal as aspas duplas incorporadas noJSON, você também deve excluir (preceder com um \ caractere de barra invertida) cada aspa dupla na própria estrutura de JSON dados, como " no exemplo a seguir.

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

Somente as aspas duplas mais externas não são de escape.