From ed4d1623c3dac22ed008f518b79deecde1f33c26 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sun, 3 Mar 2013 11:53:18 -0500 Subject: [PATCH] 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 --- 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 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 -- 2.26.2