| Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | About BLU |
On Dec 15, 2011, at 4:35 PM, Jerry Feldman wrote:
>
> This is 100% agreed. The issue is that he does not want to source the
> file and I have not been able to talk him out of it. In the past I have
> written scripts where you could read the name of a variable, and then
> convert it to a variable name, but I don't think I've done it in Bourne
> of BASH.
You pretty well have to politely inform this person that he's an idiot. You could do something like this:
for line in `cat file.txt`; do
eval ${line}
done
Which has the "benefit" of roughly duplicating source in slow motion. You can't do it with readline because the assignment fails. bash won't use an environment variable as a variable name, at least not directly:
$ foo=bar
$ ${foo}=baz
bash: bar=baz: command not found
"Prevent malicious code"? It's a shell script. Use the Mk.I Eyeball. Because I can stuff malicious code into an "x=y" statement that matches his egrep without any difficulty at all:
foo="`rm -rf *`"
--Rich P.