Tiny Core Linux

General TC => Programming & Scripting - Unofficial => Topic started by: PingPing on June 28, 2009, 08:25:06 AM

Title: What's wrong with my script?
Post by: PingPing on June 28, 2009, 08:25:06 AM
Code: [Select]
THAT="INSTALL_NO_USR FALSE"
for THIS in $THAT; do
    sed -i 's/# CONFIG_$THIS is not set/CONFIG_$THIS=y/' .config-test
done
It doesn't work, yet I can do:

sed -i 's/# CONFIG_INSTALL_NO_USR is not set/CONFIG_INSTALL_NO_USR=y/' .config-test
sed -i 's/# CONFIG_FALSE is not set/CONFIG_FALSE=y/' .config-test

which both work.

 ???
Title: Re: What's wrong with my script?
Post by: curaga on June 28, 2009, 09:11:56 AM
Different shell levels of escaping; single quote prevents any and all shell interpretation. Use double quotes to get variables expanded.
Title: Re: What's wrong with my script?
Post by: PingPing on June 28, 2009, 09:24:07 AM
Thx Curaga.  I'm using ash (busybox's default).  Replacing the 's with "s fixed it.