I have run into a bash variable string problem that I think I have nailed down to the variable string containing a tilde (~). Not sure if my conclusion is correct and could use some help.
To make a long(er) story short, an associative array variable was created:
p[work_path]="~/projects/test/"
and referenced in the following format in the shell script:
"${p[work_path]}"
To my consternation this worked fine in some places but not in others. I tried to use the above construct when piping output, as part of a file reference when calling psql from the command line and when referencing an xslt file with xsltproc.
In some places it worked, in others it did not but when I substituted the variable reference above with the path in clear text itself it then worked.
It looks like there are some nuances on variable substitution that I have yet to learn, perhaps tied to the use of the tilde since using the variable p[work_path]="/home/user/projects/test/" seemed to work in all places.
Pointers welcome!