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
signature.asc
Description: Digital signature
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
