GAH! Bash script insanity
David Kramer
david at thekramers.net
Wed Jan 28 22:18:44 EST 2004
On Wednesday 28 January 2004 4:42 pm, Joshua Pollak wrote:
> Ok, I'm going crazy. I don't know how the script-kiddies deal with bash.
Here's how. You can do the whole thing in bash without sed or awk.
Here's my script testsetparam.sh
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
platform=$1
param=$2
lineprefix="$platform:$param"
IFS='='
while read myvar myvalue ;
do
if [ "$myvar" == "$lineprefix" ] ; then
echo "$myvalue"
break
fi
done < infile
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Here's my testfile, which I think matches your specs
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
unix:PARM1=Parm1UNIX
# win32:PARM1=Parm1WINDOWS
# unix:PARM2=Parm2UNIXBad1
unix:PARM2=Parm2UNIX
# unix:PARM2=Parm2UNIXBad2
win32:PARM2=Parm2WINDOWS
unix:PARM3=Parm3UNIX
win32:PARM3=Parm3WINDOWS
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Here's my usage:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
[david at uni /tmp]$ PARM2=OLDVALUE
[david at uni /tmp]$ echo $PARM2
OLDVALUE
[david at uni /tmp]$ PARM2=`./testsetparam.sh unix PARM2`
[david at uni /tmp]$ echo $PARM2
Parm2UNIX
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------------------------------------------------
DDDD David Kramer http://thekramers.net
DK KD
DKK D "Democracy is the art and science of running the circus
DK KD from the monkey cage."
DDDD -H. L. Mencken
More information about the Discuss
mailing list