Looking for command to compare two strings
Steven W. Orr
steveo at syslang.net
Sun Dec 3 18:33:23 UTC 2006
On Saturday, Dec 2nd 2006 at 14:31 -0000, quoth Paul Smith:
=>On 12/2/06, Andy Green <andy at warmcat.com> wrote:
=>> > Is there some command to automatically check whether the two following
=>> > strings are equal?
=>> >
=>> > e64829764ecc434be937d92ab3a00f57
=>> > e64829764ecc434bg937d92ab3a00f57
=>>
=>> [b]ash can do it easily enough, eg save this as say isequal
=>>
=>> #!/bin/sh
=>>
=>> if [ "$1" = "$2" ] ; then echo "same" ; else echo "different" ; fi
=>>
=>>
=>> make sure you
=>>
=>> chmod +x isequal
=>>
=>> then you can go, eg
=>>
=>> ./isequal e64829764ecc434be937d92ab3a00f57 e64829764ecc434bg937d92ab3a00f57
=>>
=>> You can use the guts of the script from the commandline, even better
=>>
=>> if [ "`md5sum $1`" = "`md5sum $2`" ] ; then echo "same" ; else echo
=>> "different" ; fi
=>
=>Thanks, Andy. Is not there a native Linux command to compare strings?
Hmm. The natives are restless tonight...
Ok. Let's see if we have something betterer...
function streq ()
{
if (( $# != 2 ))
then
echo 'Wrong nr of args' 1>&1
return 2
fi
[[ "$1" = "$2" ]]
}
Put this if your .bashrc to define the streq function. Then to invoke just
say
streq horsepoopies liberals
The result will be in $?. O means equal, 1 means not equal, 2 means wrong
nr of args.
More information about the fedora-list
mailing list