[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: variable set in exec'ing shell cannot be unset by child shell
From: |
Greg Wooledge |
Subject: |
Re: variable set in exec'ing shell cannot be unset by child shell |
Date: |
Sat, 14 Oct 2023 13:05:37 -0400 |
On Sat, Oct 14, 2023 at 12:55:21PM -0400, Ti Strga wrote:
> it's just the "[[ -v
> foo ]]" tests to see where along the cloning process we are.
*Shudder*
I foresee so much more pain in your future. Seriously, this is going
to blow up in your face at some point. -v peeks into some incredibly
dark and spooky corners of the shell, and will expose *precisely* how
your assumptions about the shell differ with those of the bash author.
Also, it's been historically buggy.
I'm inclined to agree with Grisha Levit. This whole thing looks like
a massively out-of-control X-Y problem. If the *real* goal is to
overwrite a running script with a new version of itself, and then
re-exec it, then the correct solution is to wrap the script in a single
compound command so that it gets read and parsed up front, before
beginning execution of the main loop. Either wrap the whole thing in
"{" ... "}" as Grisha suggested, or wrap the whole thing in a "main()"
function and then call main "$@". That way, you can overwrite the file
without sabotaging running instances of the script.
- Re: variable set in exec'ing shell cannot be unset by child shell, (continued)
- Re: variable set in exec'ing shell cannot be unset by child shell, Ti Strga, 2023/10/13
- Re: variable set in exec'ing shell cannot be unset by child shell, Greg Wooledge, 2023/10/13
- Re: variable set in exec'ing shell cannot be unset by child shell, Robert Elz, 2023/10/13
- Re: variable set in exec'ing shell cannot be unset by child shell, Robert Elz, 2023/10/14
- Re: variable set in exec'ing shell cannot be unset by child shell, Martin D Kealey, 2023/10/15
- Re: variable set in exec'ing shell cannot be unset by child shell, Chet Ramey, 2023/10/16
Re: variable set in exec'ing shell cannot be unset by child shell, Chet Ramey, 2023/10/13
Re: variable set in exec'ing shell cannot be unset by child shell, Grisha Levit, 2023/10/13
Re: variable set in exec'ing shell cannot be unset by child shell, Kerin Millar, 2023/10/13