ash: "source <nonexistent file>" makes ash exit?
Joshua Judson Rosen
jrosen at harvestai.com
Mon Mar 18 19:10:01 UTC 2013
On 2013-03-18 14:37, Bastian Bittorf wrote:
> * Joshua Judson Rosen<jrosen at harvestai.com> [18.03.2013 19:32]:
>>>> [ -e "$file" ]&& . "$file"
>>>>
>>>> not ok for you? my usecase was more a "speed" issue, because
>>>
>>> The only technical reason against that is the race condition if $file is
>>> deleted after the existence/read check.
>>
>> Yes. And there's no way to get around the shell aborting in that case.
>
> maybe something like:
>
> cp "$file" "/tmp/include_$$" || . "/tmp/include_$$"
Actually.... I think I'm having one of those moments where, after getting
everyone else involved in a big discussion, I finally realise that I'm
just dumb--here's the alias that my ksh installation uses to make "source"
do what my shell scripts were expecting (try to do ". $file", and just
return an error but not abort the shell if it doesn't work):
alias source='command .'
Whoa. "command . $file" even appears to work consistently across
ash/dash/busybox/bash/ksh.
Who knew?
--
"Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))."
More information about the busybox
mailing list