Le 25/01/2021 à 18:58, Oğuz écrivait :
I rarely use eval, but when I do, it works just fine. I can't really agree
with the sentiment of your article, sorry.
I use eval when I am sure there is no other safer way.
Mean, if I can achieve the same with declare foo="dynamically generated
content" I opt for the later, like mapping a whole file into an
associative array in one go instead of iterating incrementing the array
line by line. Because I know it can be done for a declare and the
content is generated with printf %q or jq's @sh filter.
Anyway on systems where there is a sufficiently advanced Bash available
for these nice advanced bashisms, There are probably better all-purpose
scripting languages available as well like Python or Perl.
For obsolete closed-source systems where I don't have control on if a
decent Bash version is available, using the nice Bash feature is not an
option anyway, and sometimes, yes eval will help.
--
Léa Gris