Ansible Academy · Lezione

Variabili extra dalla riga di comando

Sovrascriva i valori a runtime con -e.

Lezione 3 di 413 passaggi

Variabili extra dalla riga di comando è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.

Valori durante l'esecuzione

A volte desidera scegliere un valore quando avvia un play, invece di inserirlo direttamente in un file. È proprio questo lo scopo delle variabili extra. 🌟

Il flag -e

Passi le variabili extra con il flag -e (o --extra-vars) di ansible-playbook. Ognuna diventa una variabile disponibile per l'intera esecuzione.

ansible-playbook site.yml -e "env=prod"

Più coppie key=value

Separi più valori con degli spazi all'interno di un'unica stringa racchiusa tra virgolette. Ansible analizza ogni coppia key=value e la trasforma in una variabile.

ansible-playbook site.yml -e "env=prod port=443"

Ripetere -e

Può anche passare -e più volte. Ogni occorrenza aggiunge la propria variabile, mantenendo leggibili i comandi lunghi.

ansible-playbook site.yml -e env=prod -e port=443

JSON per tipi complessi

key=value trasforma tutto in stringhe. Per passare numeri, liste o dizionari, usi invece JSON nelle extra vars.

ansible-playbook site.yml -e '{"port": 443}'

Caricare le extra vars da un file

Anteponendo @ al valore, è possibile leggere le variabili da un file YAML o JSON. È ideale per un lungo elenco di override.

ansible-playbook site.yml -e @overrides.yml

Le extra vars prevalgono

Un'extra var prevale su quasi tutte le altre fonti. Se env è impostato nelle vars e anche sulla CLI, viene usato il valore della riga di comando.

Un valore predefinito sicuro per l'override

Abbini le extra vars al filtro default, così il play continua a funzionare anche quando non viene fornito alcun override.

name: "{{ env | default('dev') }}"

Ideale per gli ambienti

Lo stesso playbook può essere eseguito in dev, staging o prod semplicemente cambiando una extra var all'avvio. Un solo file, molte destinazioni.

ansible-playbook deploy.yml -e env=staging

Controllare il comportamento con i flag

Le extra vars funzionano bene come interruttori on/off. Ne combini una con una condizione when per abilitare o saltare un task.

when: run_migrations | default(false)

Gestire con attenzione gli spazi tra virgolette

Se un valore contiene spazi, racchiuda l'intera coppia tra virgolette, così la shell non la divide. Presti attenzione al quoting della shell.

ansible-playbook s.yml -e "motd=Hello there"

Controllo rapido

Imposta port nelle vars e passa anche -e port=443. Quale valore prevale?

Riepilogo

Ora può sovrascrivere i valori all'avvio con -e, passare JSON o file preceduti da @ e contare sul fatto che le extra vars prevalgano sulle altre fonti. ✨

Gratis per iniziare

Impara YAML con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Variabili extra dalla riga di comando» è gratuita?

Sì — il testo completo di «Variabili extra dalla riga di comando» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.

Cosa imparerò in «Variabili extra dalla riga di comando»?

Sovrascriva i valori a runtime con -e. Eserciti Ansible Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ansible Academy?

Non è richiesta alcuna esperienza precedente. Ansible Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Variabili extra dalla riga di comando»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ansible Academy?

Sì. Ogni lezione Ansible Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Definire e usare vars in un play
  2. La sintassi di sostituzione {{ }}
  3. Variabili extra dalla riga di comando
  4. Origine e precedenza delle variabili
← Torna a Ansible Academy