Bash Scripting Help
der.hans
plug-discuss@lists.plug.phoenix.az.us
Thu, 9 Jan 2003 23:24:30 -0700 (MST)
Am 09. Jan, 2003 schw=E4tzte Bryce C so:
> Hello all. I was wondering if anyone knew how to do an if statement in
> bash to see if results were returned? I want to write a bash script to
> run hourly that will grep my mailbox for a certain text if the results
> are different than the contents of another, previous output, then runn
> another command. Somethinng like:
>
> cat file|grep Text>/tmp/NewText.grep
> diff /tmp/NewText.grep /tmp/Text.grep
> if( diff returned anything ) ./runme
> mv /tmp/NewText.grep /tmp/Text.grep
The variable $? has the exit status of the last command.
$ grep -q luft /etc/passwd
$ echo $?
0
$ grep -q heisseluft /etc/passwd
$ echo $?
1
The first grep found something, the second didn't.
grep Text file > /tmp/NewText.grep
diff /tmp/NewText.grep /tmp/Text.grep >/dev/null
if [ $? -ne 0 ] ; then
=09./runme
=09mv /tmp/NewText.grep /tmp/Text.grep
fi
ciao,
der.hans
--=20
# https://www.LuftHans.com/ http://www.TOLISGroup.com/
# A Polish friend of mine got an offer for a free account from AOL. The
# login ID was "HELLO" and the passwd "CYMBAL". She says "cymbal" is
# Polish for "sucker". "Hello sucker" a greeting from AOHell :).