On Sun, Mar 3, 2013 at 8:53 AM, W. Trevor King <[email protected]> wrote:
> From: "W. Trevor King" <[email protected]>
>
> From sed(1):
>
>   s/regexp/replacement/
>     Attempt to match regexp against the pattern space.  If successful,
>     replace that portion matched with replacement.  The replacement
>     may contain the special character & to refer to that portion of
>     the pattern space which matched, and the special escapes \1
>     through \9 to refer to the corresponding matching sub-expressions
>     in the regexp.
>
> This means that the old expression (with unescaped ampersands) lead
> to:
>
>   source /etc/profile ##STARTX##STARTX su - ${first_user} -c startx
>
> when we want:
>
>   source /etc/profile && su - ${first_user} -c startx
>
> with ${first_user} expanded in both cases.
> ---
>  targets/support/livecdfs-update.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/targets/support/livecdfs-update.sh 
> b/targets/support/livecdfs-update.sh
> index 77d694e..fda3e36 100644
> --- a/targets/support/livecdfs-update.sh
> +++ b/targets/support/livecdfs-update.sh
> @@ -389,7 +389,7 @@ esac
>  if [ -e /etc/startx ]
>  then
>         sed -i \
> -               "s:##STARTX:source /etc/profile && su - ${first_user} -c 
> startx:" \
> +               "s:##STARTX:source /etc/profile \&\& su - ${first_user} -c 
> startx:" \
>                 /root/.bashrc
>  fi
>
> --
> 1.8.2.rc0.16.g20a599e
>
>

Nice. Bug since 2006. I've committed this. Thanks!

Reply via email to