Sostituzione delle variabili ambientali usando il comando Envsubst Linux

Sostituzione delle variabili ambientali usando il comando Envsubst Linux

La memorizzazione di dettagli sensibili in un file come testo semplice è rischioso. In alcuni casi in cui è necessario contenere i valori delle variabili, l'opzione migliore è sostituirli dalla console. Se stai scrivendo uno script di automazione o altri file come YAML, Envsubst sostituisce facilmente le variabili. Vedremo come puoi farlo in questo articolo.

Come funziona l'anvsubst?

Envsubst fa il lavoro di sostituzione delle variabili. Cerca modelli dall'input e quando trova una corrispondenza, lo sostituisce con il valore variabile. Se il pattern produce nessuna corrispondenza corrispondente, lo sostituisce con una stringa vuota.

La sua sintassi di base è la seguente:

1
$ envsubst [opzione] [Shell-Format]

Sostituire le variabili in un file

Supponiamo di avere un semplice file di testo con variabili che devono essere impostate solo quando si utilizza il file, l'EnvSubst può gestire perfettamente il lavoro.

Creiamo un campione campione.file txt e creare due variabili per il Nome utente e password.

Per utilizzare Envsubst, dobbiamo prima esportare i valori per le due variabili:

1
2
3
$ esportazione username = "Kaila"
$ Export Password = "Pasword"

Con le variabili esportate, ora puoi invocare il comando Envsubst:

1
$ envsubst < sample.txt

Il nostro output per questo caso sarà:

Hai utilizzato correttamente Envsubst per sostituire i valori variabili in un file.

Inoltre, puoi non settato le variabili digitando non settato, seguito dal nome della variabile. Se si esegue di nuovo Envsubst, visualizzerà il file senza i valori impostati precedentemente. Dai un'occhiata al seguente:

Se non si desidera che Envsubst visualizzi l'uscita sullo spazio di lavoro, puoi combinarlo con il meno comando.

1
$ envsubst < sample.txt | less

Piping Envsubst Sostituzione a un altro file

Potrebbe anche essere necessario tubolare l'output in un altro file invece di visualizzarlo sulla console. Ad esempio, creiamo un file di configurazione che è possibile pubblicare sul tuo sito o eseguire con un bot. In questo caso, non è possibile aggiungere dettagli riservati come testo in chiaro. La soluzione è utilizzare Envsubst.

Creare un SampleConfig.Conf File e aggiungi il testo come nella seguente immagine:

User_password =

1
$ nano sampleconfig.conf

Il nostro file sembra questo:

Esportiamo le nostre variabili.

Ora, per utilizzare l'EnVsubst mentre si supera l'output su un nuovo file, il comando è il seguente:

1
$ envsubst < sampleconfig.conf >output1.TXT

Se gatti il ​​contenuto del output1.TXT, Vediamo che il comando funziona nella sostituzione delle variabili.

Specificando le variabili da sostituire

Finora, abbiamo visto come sostituire le variabili contenenti un cartello da un dollaro. È possibile impostare due o più variabili ed esportarle. Ma possiamo solo sostituire quelli specifici.

Creiamo un file simile a quello che avevamo prima e aggiungiamo altre due variabili ad esso.

Procedere all'esportazione delle variabili.

Per specificare quale variabile sostituire, impostare il proprio nome e assicurarsi di utilizzare i singoli apostrofi per impedirne la sostituzione prima che la chiamata venga effettuata.

Nel nostro caso, sostituiamo il Utente1.

1
$ envsubst '$ user1' < sampleconfig.conf

È inoltre possibile sostituire due variabili come mostrato nel seguente:

1
$ envsubst '$ user1, $ username' < sampleconfig.conf

Devi solo separare le variabili con una virgola e utilizzare un singolo apostrofo per racchiudere le due variabili, come mostrato nel seguente esempio:

Conclusione

Il comando Envsubst Linux è un ottimo strumento per sostituire le variabili nei file. È utile quando è necessario mascherare le informazioni riservate come le password e sostituirle solo quando necessario. La cosa buona con Envsubst è che puoi usarlo con diversi tipi di file, piubire il suo output su un altro file o persino usarlo come input per un altro comando.

Abbiamo coperto il comando Envsubst in questa guida e gli esempi ti aiutano a visualizzare e comprendere il suo utilizzo con facilità.