Solved

if command (using diff in bash) question

Posted on 2009-07-13
3
854 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Background Still having to process all these year-end "csv" files received from all these sources (including Government entities), sometimes we have the need to examine the contents due to data error, etc... As a "Unix" shop, our only readily …
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
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…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

839 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