Solved

if command (using diff in bash) question

Posted on 2009-07-13
3
852 Views
Last Modified: 2013-12-26
Hello,

The following code is indicating that the files match every time even if they don't -- what am I doing wrong?

Thank you!!
# !/bin/sh
 
LOG_FILE=/opt/depots/build/audit/$HOSTNAME.audit
 
if [ "diff -b -B -I ^# /etc/snmp/snmpd.conf /opt/depots/build/master/snmpd.conf" ]  ; then
   echo "pass   snmpd.conf matches Master file"
else
   echo "FAIL   snmpd.conf does not match Master file"
fi

Open in new window

0
Comment
Question by:EEK2
  • 2
3 Comments
 
LVL 58

Expert Comment

by:amit_g
ID: 24845229
Change

if [ "diff -b -B -I ^# /etc/snmp/snmpd.conf /opt/depots/build/master/snmpd.conf" ]  ; then

to

if [ diff -b -B -I ^# /etc/snmp/snmpd.conf /opt/depots/build/master/snmpd.conf > /dev/null ]  ; then

0
 
LVL 3

Assisted Solution

by:glenthorne
glenthorne earned 100 total points
ID: 24845230
You can try the following:

diff -b -B -I ^# /etc/snmp/snmpd.conf /opt/depots/build/master/snmpd.conf > /dev/null 2>&1
retval=$?
if [ $retval == "0" ]; then
   echo "pass   snmpd.conf matches Master file"
else
   echo "FAIL   snmpd.conf does not match Master file"
fi
0
 
LVL 58

Accepted Solution

by:
amit_g earned 400 total points
ID: 24845235
Ah.. it should be

if diff -b -B -I ^# /etc/snmp/snmpd.conf /opt/depots/build/master/snmpd.conf > /dev/null  ; then
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now