Conclusão de comando - AWS Command Line Interface

Conclusão de comando

Em sistemas semelhantes ao Unix, a AWS Command Line Interface (AWS CLI) inclui um recurso de conclusão de comando que permite usar a tecla Tab para concluir um comando inserido parcialmente. Na maioria dos sistemas, esse recurso não é instalado automaticamente, portanto, você precisa configurá-lo manualmente.

Como funcionam

Ao inserir parcialmente um comando, um parâmetro ou uma opção, o recurso de conclusão de comando conclui automaticamente o comando ou exibe uma lista sugerida de comandos. Para solicitar a conclusão de comando, insira parcialmente um comando e pressione Tab.

Os exemplos a seguir mostram diferentes maneiras de usar a conclusão de comando:

  • Insira parcialmente um comando e pressione Tab para exibir uma lista sugerida de comandos.

    $ aws dynamodb dTAB datapipeline deploy dlm dynamodb datasync devicefarm dms dynamodbstreams dax directconnect docdb ddb discovery ds
  • Insira parcialmente um parâmetro e pressione Tab para exibir uma lista sugerida de parâmetros.

    $ aws dynamodb db delete-table --TAB --ca-bundle --endpoint-url --profile --cli-connect-timeout --generate-cli-skeleton --query --cli-input-json --no-paginate --region --cli-read-timeout --no-sign-request --table-name --color --no-verify-ssl --version --debug --output
  • Insira um parâmetro e pressione Tab para exibir uma lista sugerida de valores de recursos. Esse recurso está disponível somente na AWS CLI versão 2.

    $ aws dynamodb db delete-table --table-name TAB Table 1 Table 2 Table 3

Configurar a conclusão do comando

Para configurar a conclusão do comando, você deve ter duas informações: o nome do shell que você está usando e a localização do script aws_completer.

Amazon Linux

A conclusão do comando é automaticamente configurada e ativada por padrão nas instâncias do Amazon EC2 que executam o Amazon Linux.

Identificar o shell

Para identificar qual shell você está usando, é possível usar um dos seguintes comandos.

echo $SHELL – exibe o nome do arquivo de programa do shell. Isso geralmente corresponde ao nome do shell em uso, a menos que você tenha iniciado um shell diferente após fazer o login.

$ echo $SHELL /bin/bash

ps – exibe os processos em execução para o usuário atual. Um deles é o shell.

$ ps PID TTY TIME CMD 2148 pts/1 00:00:00 bash 8756 pts/1 00:00:00 ps

Localizar o completer da AWS

A localização do completer da AWS pode variar, dependendo do método de instalação usado.

Gerenciador de pacotes – Programas como pip, yum, brew e apt-get normalmente instalam o completer da AWS (ou um symlink) em um local de caminho padrão. Neste caso, o comando which pode localizar o completer para você.

Se você usou o pip sem o comando --user, poderá ver o caminho a seguir.

$ which aws_completer /usr/local/aws/bin/aws_completer

Se você usou o parâmetro --user no comando de instalação do pip, normalmente você pode encontrar o completer na pasta local/bin que está na pasta $HOME.

$ which aws_completer /home/username/.local/bin/aws_completer

Bundled Installer – Se você usou o instalador de acordo com as instruções fornecidas na seção anterior, o completer da AWS estará localizado na subpasta bin do diretório de instalação.

$ ls /usr/local/aws/bin activate activate.csh activate.fish activate_this.py aws aws.cmd aws_completer ...

Se tudo falhar, use find para pesquisar o completer da AWS em todo o seu sistema de arquivos.

$ find / -name aws_completer /usr/local/aws/bin/aws_completer

Adicionar a pasta do completer ao caminho

Para o AWS Completer funcionar corretamente, primeiro adicione-o ao caminho do seu computador.

  1. Encontre o script de perfil do shell em sua pasta de usuário. Se não tiver certeza de qual shell você tem, execute echo $SHELL.

    $ ls -a ~/ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
    • Bash.bash_profile, .profile ou .bash_login

    • Zsh.zshrc

    • Tcsh.tcshrc, .cshrc ou .login

  2. Adicione um comando de exportação ao final do script de perfil que é semelhante ao exemplo a seguir. Substitua /usr/local/aws/bin pela pasta que você descobriu na seção anterior.

    export PATH=/usr/local/aws/bin:$PATH
  3. Recarregue o perfil na sessão atual para colocar essas alterações em vigor. Substitua .bash_profile pelo nome do script de shell que você descobriu na primeira seção.

    $ source ~/.bash_profile

Habilitar a conclusão de comando

Para habilitar a conclusão de comando, execute o comando para o shell que você está usando. Você pode adicionar o comando ao arquivo RC do shell para executá-lo cada vez que você abrir um novo shell. Em cada comando, substitua o caminho /usr/local/aws/bin pelo encontrado no seu sistema na seção anterior.

  • bash – Usa o comando interno complete.

    $ complete -C '/usr/local/aws/bin/aws_completer' aws

    Adicione o comando ao ~/.bashrc para executá-lo cada vez que você abrir um novo shell. O ~/.bash_profile deve se basear em ~/.bashrc para garantir que o comando também seja executado em shells de login.

  • zsh – para executar a conclusão de comando, é necessário executar bashcompinit adicionando a seguinte linha de carregamento automático ao final do script do perfil ~/.zshrc.

    $ autoload bashcompinit && bashcompinit

    Para habilitar a conclusão de comando, use o comando interno complete.

    $ complete -C '/usr/local/aws/bin/aws_completer' aws

    Adicione o comando ao ~/.zshrc para executá-lo cada vez que você abrir um novo shell.

  • tcsh – Concluído para tcsh leva um tipo de palavra e padrão para definir o comportamento de conclusão.

    > complete aws 'p/*/`aws_completer`/'

    Adicione o comando ao ~/.tschrc para executá-lo cada vez que você abrir um novo shell.

Conclusão do comando de teste

Após ativar a conclusão de comando, insira um comando parcial e pressione Tab para ver os comandos disponíveis.

$ aws sTAB s3 ses sqs sts swf s3api sns storagegateway support