Hi Leif: Thank you for your feedback. I concur with you that it is a bash side effect, desired or undesired :) . I ran into this issue with positional parameters and thought a small message would be helpful to users. I will no longer pursue this issue.
Thanks, Arvind. On Wed, Mar 14, 2018 at 7:25 AM, Leif Lindholm <[email protected]> wrote: > Hi Arvind, > > On Sat, Mar 10, 2018 at 11:11:58AM -0500, Arvind Prasanna wrote: > > It is possible to source edksetup.sh from another script. If the > > calling/sourcing script has any positional parameters set, those are > > incorrectly accounted for in edksetup.sh while sourcing it resulting in > > the the help section always being shown. This patch updates the help > > section advising the user about these set positional parameters so they > > can be unset prior to sourcing edksetup.sh. > > This is really just one of the unpleasantries of sourcing shell > scripts. > > Since the current script could only ever work with bash anyway (and > not sh, dash, ...) I don't know that we could do much better - and > there's nothing about the problem that is specific to this script. > > As an aside, since we _know_ this only works on bash, you can also > make use of the bash side effect that if you pass any arguments to the > sourced script, it gets its own copies of $#, $0, $1 and so on. > > For ancient backwards compatility, the parameter BaseTools is ignored > if provided on the command line. So you could always just use > edksetup.sh BaseTools > > Alternatively, you can use > edksetup.sh --reconfig > which also ensures you are always using the latest toolchain > templates. > > Regards, > > Leif > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Arvind Prasanna <[email protected]> > > --- > > edksetup.sh | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/edksetup.sh b/edksetup.sh > > index 93d6525..a3d5560 100755 > > --- a/edksetup.sh > > +++ b/edksetup.sh > > @@ -42,6 +42,8 @@ function HelpMsg() > > echo Please note: This script must be \'sourced\' so the environment > can be changed. > > echo ". $SCRIPTNAME" > > echo "source $SCRIPTNAME" > > + echo "If this script is being sourced from another script, please > ensure that the" > > + echo "sourcing/calling script has no set postional parameters." > > } > > > > function SetWorkspace() > > -- > > 2.7.4 > > > > _______________________________________________ > > edk2-devel mailing list > > [email protected] > > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

