[RndTbl] Shell exec(2) help?

Adam Thompson athompso at athompso.net
Sun Jul 5 07:53:14 CDT 2020


On 2020-07-04 00:35, Trevor Cordes wrote:
> (Late to the party.)
> 
> You could use bash's eval in a while.  Download your new code into a
> shell var (or a file you then open/read or slurp), like (psuedocode):
> 
> while (true) {
>   newcode=`curl mynewcode`
>   eval $newcode
>   sleep
> }
> 
> That has no forks and allows you to update the code inside the while.
> 
> Other than that, I'm not sure why the shell is doing such weirdness.
> The infinite recursion is a bit of a surprise.  Gilbert's supposition
> is probably on the right track.
> 
> If you have perl, it gives you finer-grained (C-ish level) control over
> exec-ish calls and might allow you to work around this problem.  I find
> the Run3 module particularly useful.  However, perl is probably
> overkill and it's not your favorite...


I don't mind Perl that much, but yeah it would be massive overkill.
Ultimately, I gave in and had the script re-download itself, chmod 
itself, and then re-exec itself, and that's working more reliably than 
anything else I've tried so far, at the expense of leaving another file 
on disk in $CWD.
If the extra file(s) ever become a huge problem, I could always add an 
EXIT trap, but it's not worth it yet.

Thanks, everyone, for the various suggestions!
-Adam


More information about the Roundtable mailing list