I want to ask if it is possible to pass arguments to a script function by reference:
i.e. to do something that would look like this in C++:
void boo(int &myint) { myint = 5; }
int main() {
    int t = 4;
    printf("%d\n", t); // t->4
    boo(t);
    printf("%d\n", t); // t->5
}
So then in BASH I want to do something like:
function boo () 
{
    var1=$1       # now var1 is global to the script but using it outside
                  # this function makes me lose encapsulation
    local var2=$1 # so i should use a local variable ... but how to pass it back?
    var2='new'    # only changes the local copy 
    #$1='new'     this is wrong of course ...
    # ${!1}='new' # can i somehow use indirect reference?
}           
# call boo
SOME_VAR='old'
echo $SOME_VAR # -> old
boo "$SOME_VAR"
echo $SOME_VAR # -> new
Any thoughts would be appreciated.
 
     
     
     
     
     
     
     
     
     
    