Configuración de la finalización de comandos en el AWS CLI - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de la finalización de comandos en el AWS CLI

El AWS Command Line Interface (AWS CLI) incluye una función de finalización de comandos compatible con bash que permite utilizar la tecla Tab para completar un comando introducido parcialmente. En la mayoría de los sistemas, debe configurarlo manualmente.

Funcionamiento

Cuando se introduce parcialmente un comando, parámetro u opción, la función de finalización de comandos completa automáticamente el comando o muestra una lista sugerida de comandos. Para acelerar la finalización de un comando, se introduce parcialmente un comando y se pulsa la tecla de finalización, que suele ser Tab en la mayoría de las conchas.

En los ejemplos siguientes se muestran diferentes formas de utilizar la finalización de comandos:

  • Introduzca parcialmente un comando y pulse Tab para mostrar una lista sugerida de comandos.

    $ aws dynamodb dTAB 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
  • Introduzca parcialmente un parámetro y pulse Tab para mostrar una lista de parámetros sugerida.

    $ 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
  • Introduzca un parámetro y pulse Tab para mostrar una lista sugerida de valores de recursos. Esta función solo está disponible en la AWS CLI versión 2.

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

Configuración de la finalización de comandos en Linux o macOS

Para configurar la finalización de comandos en Linux o macOS, debe conocer el nombre del shell que se está utilizando y la ubicación del script aws_completer.

nota

La finalización de comandos se configura y habilita automáticamente de forma predeterminada en EC2 las instancias de Amazon que ejecutan Amazon Linux.

Confirme que la carpeta del Completer está en su ruta

Para que el AWS completador funcione correctamente, aws_completer debe estar en la ruta del shell. El comando which puede verificar si el Completer está en su ruta.

$ which aws_completer /usr/local/bin/aws_completer

Si el comando qué no puede encontrar el completador, siga los pasos siguientes para agregar la carpeta del completer a su ruta.

Paso 1: localiza el completador AWS

La ubicación del AWS completador puede variar según el método de instalación utilizado.

  • Package Manager: programa comopip,, y yumbrew, por apt-get lo general, instala el AWS completador (o un enlace simbólico al mismo) en una ubicación de ruta estándar.

    • Si utilizó pip sin el parámetro --user, la ruta predeterminada es /usr/local/bin/aws_completer.

    • Si utilizó pip con el parámetro --user, la ruta predeterminada es /home/username/.local/bin/aws_completer.

  • Instalador agrupado: si utilizó el instalador agrupado, la ruta predeterminada es /usr/local/bin/aws_completer.

Si todo lo demás falla, puede usar el find comando para buscar el completador en su sistema de AWS archivos.

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

Paso 2: Identificación de su shell

Para identificar qué shell está utilizando, puede usar uno de los siguientes comandos.

  • echo $ SHELL: muestra el nombre del archivo de programa del shell. Normalmente coincide con el nombre del shell en uso, a menos que haya iniciado otro shell tras iniciar sesión.

    $ echo $SHELL /bin/bash
  • ps: muestra los procesos en ejecución para el usuario actual. Uno de ellos es el shell.

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

Paso 3: agregar la carpeta del completer a la ruta

  1. Busque el script de perfil de su shell en su carpeta de usuario.

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

    • Zsh: .zshrc

    • Tcsh: .tcshrc, .cshrc o .login

  2. Añada un comando de exportación al final del script de su perfil igual que en el siguiente ejemplo. Reemplace /usr/local/bin/ por el nombre de la carpeta que ha creado en la sección anterior.

    export PATH=/usr/local/bin/:$PATH
  3. Vuelva a cargar el perfil en la sesión actual para que esos cambios surtan efecto. Reemplace .bash_profile por el nombre del script de shell que ha creado en la primera sección.

    $ source ~/.bash_profile

Habilitar la finalización de comandos

Después de confirmar que el completer está en su ruta, habilite la finalización de comandos ejecutando el comando apropiado para el shell que está utilizando. Puede agregar el comando a su perfil del shell para que se ejecute cada vez que abra un nuevo shell. En cada comando, sustituya el /usr/local/bin/ ruta por la que se encuentra en su sistemaConfirme que la carpeta del Completer está en su ruta.

  • bash: use el comando complete integrado.

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

    Agregue el comando anterior a ~/.bashrc para que se ejecute cada vez que abra un nuevo shell. Su ~/.bash_profile debe obtener ~/.bashrc para asegurarse de que el comando también se ejecuta en los shells de inicio de sesión.

  • zsh: para ejecutar la finalización de comandos, debe ejecutar bashcompinit añadiendo la siguiente línea de carga automática al final del script de perfil de ~/.zshrc.

    $ autoload bashcompinit && bashcompinit $ autoload -Uz compinit && compinit

    Para habilitar la finalización de comandos, utilice el comando integrado complete.

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

    Agregue el comando anterior a ~/.zshrc para que se ejecute cada vez que abra un nuevo shell.

  • tcsh: la finalización de tcsh requiere un tipo de palabra y un patrón para definir el comportamiento de finalización.

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

    Agregue el comando anterior a ~/.tschrc para que se ejecute cada vez que abra un nuevo shell.

Después de habilitar la finalización del comando, Verifique la finalización de comandos funciona.

Verifique la finalización de comandos

Tras habilitar la finalización de comandos, vuelva a cargar su shell, escriba parcialmente un comando y pulse la tecla Tab (Tabulación) para ver los comandos disponibles.

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

Configuración de la finalización de comandos en Windows

nota

Para obtener información sobre cómo PowerShell gestiona su finalización, incluidas sus distintas claves de finalización, consulte about_TAB_Expansion en Microsoft Docs. PowerShell

Para habilitar la finalización de comandos PowerShell en Windows, complete los siguientes pasos en. PowerShell

  1. Abra el archivo $PROFILE con el siguiente comando.

    PS C:\> Notepad $PROFILE

    Si no dispone de un $PROFILE, cree un perfil de usuario mediante el siguiente comando.

    PS C:\> if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }

    Para obtener más información sobre PowerShell los perfiles, consulte Cómo usar perfiles en Windows en el PowerShell ISE sitio web de Microsoft Docs.

  2. Para habilitar la finalización de comandos, agregue el siguiente bloque de código a su perfil, guarde y luego cierre el archivo.

    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 }
  3. Tras habilitar la finalización de comandos, vuelva a cargar el shell, ingrese parcialmente un comando y pulse la tecla Tab (Tabulación) para recorrer los comandos disponibles.

    $ aws sTab
    $ aws s3

    Para ver todos los comandos disponibles para completar, ingrese parcialmente un comando y pulse Ctrl (Control) + Space Espacio.

    $ aws sCtrl + Space s3 ses sqs sts swf s3api sns storagegateway support