Durante la scrittura di script bash mi piace scrivere funzioni autonome che accettano un argomento ed eseguono operazioni basate su quell'argomento/i piuttosto che avere variabili globali dichiarate in diversi punti diversi il codice diminuisce la leggibilità.Elenco di tutte le variabili in un file in bash
Il problema sorge quando si dispone di una funzione che deve utilizzare diverse variabili. Passare qualcosa come 10 variabili a una funzione è semplicemente brutto e per questo può essere usato un semplice array associativo.
Se vogliamo dichiarare le variabili in un file esterno, il comando "fonte" consente di importare tutti in.
La questione diventa allora, come faccio a elencare le variabili dichiarate solo dentro questo file in modo Posso costruire il mio array associativo con loro? Sono stato in grado di utilizzare una combinazione di "compgen" e un ciclo per creare array associativi da un elenco di variabili ma come si elencano solo le variabili trovate all'interno del file, indipendentemente da come vengono chiamate, così posso fare il ciclo attraverso di loro e costruire il mio array?
avrei tendo a suggerire utilizzando un formato facile da analizzare commento per la documentazione (come fatto per doxygen, javadoc, e gli strumenti derivati). –
È sempre possibile confrontare l'output di 'declare' /' set' prima e dopo l'acquisizione del file di configurazione? =) Oppure, se il file di configurazione è unico per tale funzione, crea direttamente l'array. E se non è univoco per la funzione, allora hai bisogno di un modo per usare comunque solo le variabili corrette, quindi scrivi semplicemente una funzione "collect_args" che prende i nomi delle variabili che la funzione si aspetta, ecc. –
Grazie. @EtanReisner Penso che il tuo suggerimento potrebbe essere necessario, in quanto sembra che non riesca a trovare una soluzione migliore se non analizzare il file attuale – ByteFlinger