Configurar a conclusão do comando na AWS CLI
A AWS Command Line Interface (AWS CLI) inclui um recurso de preenchimento automático de comandos que permite usar a tecla Tab para concluir o preenchimento um comando inserido parcialmente. Na maioria dos sistemas, esse recurso deve ser configurado manualmente.
Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte Habilitar e usar os prompts de comando na AWS CLI.
Tópicos
Como funciona
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 comandos, insira parcialmente um comando e pressione a tecla de conclusão, que normalmente é Tab
na maioria dos shells.
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 d
TAB
delete-backup describe-global-table delete-item describe-global-table-settings delete-table describe-limits describe-backup describe-table describe-continuous-backups describe-table-replica-auto-scaling describe-contributor-insights describe-time-to-live describe-endpoints
-
Insira parcialmente um parâmetro e pressione
Tab
para exibir uma lista sugerida de parâmetros.$
aws dynamodb 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 só está disponível na AWS CLI versão 2.$
aws dynamodb db delete-table --table-name
TAB
Table 1 Table 2 Table 3
Configuração do preenchimento automático de comando no Linux ou no macOS
Para configurar o preenchimento automático de comandos no Linux ou macOS, você deve conhecer o nome do shell que está usando e a localização do script aws_completer
.
nota
O preenchimento do comando é configurado automaticamente e habilitado por padrão nas instâncias do Amazon EC2 que executam o Amazon Linux.
Tópicos
Confirme se a pasta do completer está na variável path
Para o completer da AWS funcionar corretamente, o aws_completer
deverá estar na variável path do seu shell. O comando which
pode verificar se o completer está na variável path.
$
which aws_completer
/usr/local/bin/aws_completer
Se o comando que não conseguir encontrar o completer, use as etapas a seguir para adicionar a pasta do completer à variável PATH.
Etapa 1: 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
eapt-get
normalmente instalam o completer da AWS (ou um symlink para ele) em um local que faz parte do caminho padrão.-
Se você usou o
pip
sem o parâmetro--user
, o caminho padrão é/usr/local/bin/aws_completer
. -
Se você usou o
pip
com o parâmetro--user
, o caminho padrão é/home/
.username
/.local/bin/aws_completer
-
-
Instalador empacotado: se você usou o instalador empacotado, o caminho padrão é
/usr/local/bin/aws_completer
.
Se tudo falhar, você poderá usar o comando find
para pesquisar o completer da AWS em todo o seu sistema de arquivos.
$
find / -name aws_completer
/usr/local/bin/aws_completer
Etapa 2: Identificar o shell
Para identificar qual shell você está usando, é possível usar um dos seguintes comandos.
-
echo $SHELL: exibe o nome do arquivo do programa de 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
Etapa 3: Adicionar o completer ao caminho
-
Encontre o script de perfil do shell em sua pasta de usuário.
$
ls -a ~/
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
-
Bash:
.bash_profile
,.profile
ou.bash_login
-
Zsh:
.zshrc
-
Tcsh:
.tcshrc
,.cshrc
ou.login
-
-
Adicione um comando de exportação ao final do script de perfil que é semelhante ao exemplo a seguir. Substitua
pela pasta que você descobriu na seção anterior./usr/local/bin/
export PATH=
/usr/local/bin/
:$PATH -
Recarregue o perfil na sessão atual para colocar essas alterações em vigor. Substitua
pelo nome do script de shell que você descobriu na primeira seção..bash_profile
$
source ~/
.bash_profile
Habilitar a conclusão de comando
Depois de confirmar que o completer está no caminho, habilite a conclusão de comando executando o comando apropriado para o shell que você está usando. Você pode adicionar o comando ao perfil do shell para executá-lo cada vez que você abrir um novo shell. Em cada comando, substitua o caminho /usr/local/bin/
pelo encontrado no seu sistema em Confirme se a pasta do completer está na variável path.
-
bash
: usa o comando internocomplete
.$
complete -C '
/usr/local/bin/
aws_completer' awsAdicione o comando anterior 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 o preenchimento de comandos, é necessário executarbashcompinit
adicionando a seguinte linha de carregamento automático ao final do script do perfil~/.zshrc
.$
autoload bashcompinit && bashcompinit
$
autoload -Uz compinit && compinit
Para habilitar a conclusão de comando, use o comando interno
complete
.$
complete -C '
/usr/local/bin/
aws_completer' awsAdicione os comandos anteriores ao
~/.zshrc
para executá-los cada vez que você abrir um novo shell. -
tcsh
: o preenchimento paratcsh
utiliza um tipo de palavra e padrão para definir o comportamento do preenchimento.>
complete aws 'p/*/`aws_completer`/'
Adicione o comando anterior ao
~/.tschrc
para executá-lo cada vez que você abrir um novo shell.
Depois de habilitar o preenchimento automático de comandos, Verifique o preenchimento de comandos está funcionando.
Verifique o preenchimento de comandos
Após habilitar o preenchimento de comandos, insira um comando parcial e pressione Tab para ver os comandos disponíveis.
$
aws s
TAB
s3 ses sqs sts swf s3api sns storagegateway support
Configuração do preenchimento de comandos no Windows
nota
Para obter informações sobre como o PowerShell lida com a conclusão, incluindo as várias teclas de conclusão, consulte about_tab_Expansion
Para habilitar o preenchimento de comandos para o PowerShell no Windows, conclua as etapas a seguir no PowerShell.
-
Abra o arquivo
$PROFILE
com o comando a seguir.PS C:\>
Notepad $PROFILE
Se você ainda não tiver um
$PROFILE
, use o procedimento a seguir para criar um perfil de usuário.PS C:\>
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
Para obter mais informações sobre os perfis do PowerShell, consulte Como usar perfis no Windows PowerShell ISE
no site de Documentação da Microsoft. -
Para ativar o preenchimento de comandos, adicione o seguinte bloco de código ao seu perfil, salve e, em seguida, feche o arquivo.
Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock { param($commandName, $wordToComplete, $cursorPosition) $env:COMP_LINE=$wordToComplete if ($env:COMP_LINE.Length -lt $cursorPosition){ $env:COMP_LINE=$env:COMP_LINE + " " } $env:COMP_POINT=$cursorPosition aws_completer.exe | ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) } Remove-Item Env:\COMP_LINE Remove-Item Env:\COMP_POINT }
-
Depois de habilitar a conclusão dos comandos, recarregue o shell, insira um comando parcial e pressione Tab para percorrer os comandos disponíveis.
$
aws s
Tab
$
aws
s3
Para ver todos os comandos disponíveis para conclusão, insira um comando parcial e pressione Ctrl + Espaço.
$
aws s
Ctrl + Space
s3 ses sqs sts swf s3api sns storagegateway support