Configurazione del completamento dei comandi nella AWS CLI. - AWS Command Line Interface

Questa documentazione è valida solo per la Versione 1 della AWS CLI. Per la documentazione relativa alla versione 2 della AWS CLI, consulta la Guida per l’utente per la Versione 2.

Configurazione del completamento dei comandi nella AWS CLI.

La AWS CLI (AWS Command Line Interface) include una funzionalità di completamento dei comandi compatibile con Bash che consente di completare un comando digitato parzialmente utilizzando il tasto Tab. Sulla maggior parte dei sistemi è necessario configurarlo manualmente.

Come funziona

Quando si immette parzialmente un comando, un parametro o un'opzione, la caratteristica di completamento dei comandi completa automaticamente il comando o visualizza un elenco suggerito di comandi. Per richiedere il completamento del comando, inserire parzialmente un comando e premere il tasto di completamento, tipicamente Tab nella maggior parte delle shell.

Negli esempi seguenti vengono illustrati diversi modi in cui è possibile utilizzare il completamento dei comandi:

  • Immettere parzialmente un comando e premere Tab per visualizzare un elenco di comandi suggeriti.

    $ 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
  • Immettere parzialmente un parametro e premere Tab per visualizzare un elenco di parametri suggeriti.

    $ 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
  • Immettere un parametro e premere Tab per visualizzare un elenco di valori delle risorse suggeriti. Questa funzionalità è disponibile solo nella versione 2 della AWS CLI.

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

Configurazione del completamento dei comandi su Linux o macOS

Per configurare il completamento dei comandi, su Linux o macOS occorrono due informazioni: il nome della shell che si sta utilizzando e la posizione dello script aws_completer.

Nota

Il completamento dei comandi viene configurato e abilitato automaticamente per impostazione predefinita sulle istanze Amazon EC2 che eseguono Amazon Linux.

Conferma che la cartella del programma di completamento si trova nel tuo percorso

AWSAffinché il programma di completamento funzioni correttamente, aws_completer deve trovarsi nel percorso della shell. Il comando which può verificare se il programma di completamento si trova nel percorso dell’utente.

$ which aws_completer /usr/local/bin/aws_completer

Se il comando which non riesce a trovare il programma di completamento, utilizza le seguenti fasi per aggiungere relativa la cartella al tuo percorso.

Fase 1: individuare il programma di completamento AWS

La posizione del programma di completamento AWS può variare in base al metodo di installazione utilizzato.

  • Programma di gestione dei pacchetti - Programmi come pip, yum, brew e apt-get generalmente installano il programma di completamento AWS (o un link simbolico a esso) in un percorso standard.

    • Se pip è stato utilizzato senza il parametro --user, il percorso predefinito è /usr/local/bin/aws_completer.

    • Se pip è stato utilizzato con il parametro --user, il percorso predefinito è /home/username/.local/bin/aws_completer.

  • Programma di installazione in bundle - Se hai utilizzato il programma di installazione in bundle, il percorso predefinito è /usr/local/bin/aws_completer.

Se non riesci a individuarlo, puoi utilizzare il comando find per cercare il file system per il programma di completamento AWS.

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

Fase 2: identificazione della shell

Per identificare la shell in uso, è possibile utilizzare uno dei seguenti comandi.

  • echo $SHELL - Visualizza il nome del file di programma della shell. Generalmente corrisponde al nome della shell in uso, a meno che non venga avviata un'altra shell dopo avere effettuato l'accesso.

    $ echo $SHELL /bin/bash
  • ps - Mostra i processi in esecuzione per l’utente corrente. Uno di questi è la shell.

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

Fase 3: aggiunta della cartella del programma di completamento al percorso

  1. Trova lo script del profilo della tua shell nella tua cartella utente.

    $ 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. Aggiungi un comando di esportazione al termine dello script del profilo simile a quello dell'esempio seguente. Sostituisci /usr/local/bin/ con la cartella individuata nella sezione precedente.

    export PATH=/usr/local/bin/:$PATH
  3. Ricarica il profilo nella sessione corrente per rendere effettive tali modifiche. Sostituisci .bash_profile con il nome dello script della shell individuato nella prima sezione.

    $ source ~/.bash_profile

Abilitazione del completamento dei comandi

Dopo aver verificato che il programma di completamento si trovi nel tuo percorso, abilita il completamento del comando eseguendo il comando appropriato per la shell che stai utilizzando. Puoi aggiungere il comando al profilo della shell per eseguirlo ogni volta che apri una nuova shell. In ogni comando, sostituisci il percorso /usr/local/bin/ con quello trovato sul tuo sistema in Conferma che la cartella del programma di completamento si trova nel tuo percorso.

  • bash - Utilizza il comando integrato complete.

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

    Aggiungi il comando precedente a ~/.bashrc per eseguirlo ogni volta che apri una nuova shell. Per accertarti che il comando venga eseguito anche nelle shell di accesso, l'origine di ~/.bash_profile deve essere ~/.bashrc.

  • zsh - Per eseguire il completamento del comando, è necessario eseguire bashcompinit aggiungendo la seguente riga di caricamento automatico alla fine dello script del profilo ~/.zshrc.

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

    Per abilitare il completamento dei comandi, utilizzare il comando integrato complete.

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

    Aggiungi i comandi precedenti a ~/.zshrc per eseguirlo ogni volta che apri una nuova shell.

  • tcsh - Il completamento di tcsh richiede un tipo di parola e un modello per definire il comportamento di completamento.

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

    Aggiungi il comando precedente a ~/.tcshrc per eseguirlo ogni volta che apri una nuova shell.

Dopo aver abilitato il completamento dei comandi, Verifica del completamento dei comandi è in funzione.

Verifica del completamento dei comandi

Dopo avere abilitato il completamento dei comandi, ricarica la shell, immetti un comando parziale e premi il tasto Tab per visualizzare i comandi disponibili.

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

Configurazione del completamento dei comandi su Windows

Nota

Per informazioni su come PowerShell gestisce il completamento, incluse le varie chiavi di completamento, consulta about_Tab_Expansion in Microsoft PowerShell Docs.

Per abilitare il completamento dei comandi per PowerShell su Windows, completa le fasi seguenti in PowerShell.

  1. Apri il file $PROFILE tramite il comando seguente:

    PS C:\> Notepad $PROFILE

    Se non disponi di un account $PROFILE, crea un profilo utente utilizzando il comando seguente.

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

    Per ulteriori informazioni sui profili PowerShell, consulta How to Use Profiles in Windows PowerShell ISE sul sito web Microsoft Docs.

  2. Per abilitare il completamento dei comandi, aggiungi il seguente blocco di codice al tuo profilo, salva e chiudi il file.

    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. Dopo avere abilitato il completamento dei comandi, ricarica la shell, immetti un comando parziale e premi il tasto Tab per passare tra i comandi disponibili.

    $ aws sTab
    $ aws s3

    Per visualizzare tutti i comandi disponibili per il completamento, immetti un comando parziale e premi Ctrl + Spazio.

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