On 28 Jan 2018 19:17, Denys Vlasenko wrote:
> On Fri, Jan 26, 2018 at 7:50 PM, Mike Frysinger wrote:
> > On 26 Jan 2018 15:15, Denys Vlasenko wrote:
> >> On Fri, Jan 26, 2018 at 9:34 AM, Paul Otto wrote:
> >> > This patch restores, and improves upon, expected behavior to BASH
> >> > compatibility which was lost beginning with 1.27.0. This was pulled into
> >> > Alpine 3.7 which, in turn was pulled into official Docker images 
> >> > beginning
> >> > with docker:17.12. As a result, a large number of CICD builds that use
> >> > "source filename" have broken everywhere.
> >> >
> >> > According to the BASH documentation, the source command should:
> >> > Read and execute commands from filename  in  the  current  shell 
> >> > environment
> >> > and return the exit status of the last command executed from filename.  
> >> > If
> >> > filename does not contain a slash, filenames  in  PATH  are used to find 
> >> > the
> >> > directory containing filename.  The file searched for in PATH  need  not 
> >> >  be
> >> > executable. When  bash  is  not  in  posix  mode,  the  current 
> >> > directory is
> >> > searched if no file is found in PATH.
> >>
> >> I wish bash wouldn't introduce gratuitous standard violations.
> >
> > bash is its own shell.  why can't it introduce its own extensions as it sees
> > fit ?
> 
> Because a divergence is not a good thing, especially if it's gratuitous

this position makes no sense.  are you saying that no shell should be allowed
to extend the syntax however it wants ?  every shell out there should only be
allowed to implement POSIX and nothing else ?

> Making bash "source" behavior non-standard had nothing useful in it.

"source" is already non-standard and not specified in POSIX.  so simply by
using it, your script is not POSIX compliant.
-mike

Attachment: signature.asc
Description: Digital signature

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to