From: W. Trevor King Date: Sun, 3 Mar 2013 16:53:18 +0000 (-0500) Subject: livecdfs-update.sh: Escape ampersands in STARTX sed expression X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ed4d1623c3dac22ed008f518b79deecde1f33c26;p=catalyst.git livecdfs-update.sh: Escape ampersands in STARTX sed expression 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. Reviewed-by: Matt Turner --- diff --git a/targets/support/livecdfs-update.sh b/targets/support/livecdfs-update.sh index 77d694ef..fda3e362 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