Configurazione del completamento dei comandi in AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del completamento dei comandi in AWS CLI

Il AWS Command Line Interface (AWS CLI) include una funzionalità di completamento dei comandi compatibile con bash che consente di utilizzare il tasto Tab per completare un comando inserito parzialmente. Sulla maggior parte dei sistemi è necessario configurarla manualmente.

Per informazioni sulla funzionalità di richiesta automatica della AWS CLI versione 2, invece, vedere. Attivazione e utilizzo dei prompt dei comandi in AWS CLI

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, si immette parzialmente un comando e si preme il tasto di completamento, che in genere è Tab nella maggior parte delle conchiglie.

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

  • Inserisci parzialmente un comando e premi Tab per visualizzare un elenco di comandi suggerito.

    $ 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
  • Inserite parzialmente un parametro e premete Tab per visualizzare un elenco di parametri suggerito.

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

    $ aws dynamodb db 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, devi conoscere il nome della shell che stai utilizzando e la posizione dello aws_completer script.

Nota

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

Conferma che la cartella del completatore si trova nel tuo percorso

AWS Affinché il completatore funzioni correttamente, aws_completer deve trovarsi nel percorso della shell. Il which comando può verificare se il completatore si trova nel percorso dell'utente.

$ which aws_completer /usr/local/bin/aws_completer

Se il comando which non riesce a trovare il completatore, utilizza i seguenti passaggi per aggiungere la cartella del completatore al tuo percorso.

Passaggio 1: individua il completatore AWS

La posizione del AWS completatore può variare a seconda del metodo di installazione utilizzato.

  • Package Manager: programmi comepip, yumbrew, e apt-get in genere installano il AWS completatore (o un collegamento simbolico ad esso) in una posizione di percorso standard.

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

    • Se è stato utilizzato pip con il --user parametro, 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 tutto il resto fallisce, puoi usare il find comando per cercare il programma di completamento nel file system. AWS

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

Fase 2: Identifica la 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 — Visualizza 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

Passaggio 3: aggiungi il completatore al tuo 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, o .profile .bash_login

    • Cenere.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 completatore sia 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 /usr/local/bin/ percorso con quello trovato sul sistema inConferma che la cartella del completatore si trova nel tuo percorso.

  • bash— Usa il comando integratocomplete.

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

    Aggiungi il comando precedente ~/.bashrc a 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 eseguirlo bashcompinit aggiungendo la seguente riga di caricamento automatico alla fine dello script del ~/.zshrc profilo.

    $ 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 ~/.zshrc a per eseguirlo ogni volta che apri una nuova shell.

  • tcsh— Complete for tcsh richiede un tipo di parola e uno schema per definire il comportamento di completamento.

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

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

Dopo aver abilitato il completamento del comando, Verifica il completamento del comando funziona.

Verifica il completamento del comando

Dopo aver abilitato il completamento dei comandi, ricarica la shell, inserisci un comando parziale e premi Tab per vedere i comandi disponibili.

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

Configurazione del completamento dei comandi in Windows

Nota

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

Per abilitare il completamento dei PowerShell comandi per Windows, completa i passaggi seguenti in. PowerShell

  1. Apri il tuo $PROFILE con il seguente comando.

    PS C:\> Notepad $PROFILE

    Se non ne hai uno$PROFILE, crea un profilo utente usando il seguente comando.

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

    Per ulteriori informazioni sui PowerShell profili, vedi Come usare i profili 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 aver abilitato il completamento dei comandi, ricarica la shell, inserisci un comando parziale e premi Tab per scorrere tra i comandi disponibili.

    $ aws sTab
    $ aws s3

    Per vedere tutti i comandi disponibili disponibili al completamento, inserisci un comando parziale e premi Ctrl + Spazio.

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