bash e variabili globali
Ciao a tutti esiste un modo in bash per settare le variabili globali da
una funzione anche se viene chiamata con $(nome_func) o in modo
equivalente da `nome_func`? Per capirci ecco un esempio che spero sia
chiarificatore:
#!/bin/bash
test () {
# mi piacerebbe andare a modificare la variabile globale var
var="valore settato in test()"
}
var="la chiamata a test non modifica questo valore."
$(test)
echo "chiamata 1: $var"
var="questo valore invece viene sovrascritto da test"
test
echo "chiamata 2: $var"
Questo è l'output dello script:
chiamata 1: la chiamata a test non modifica questo valore.
chiamata 2: valore settato in test()
Come vedete nella chiamata 1 la funzione non modifica la variabile
globale e questo non me lo aspettavo; anzitutto perché? Esiste un modo
perché la riesca a modificare anche se chiamata con $(...) o `...`?
Grazie mille
Piviul
Reply to: