Sponsored Content
Top Forums Shell Programming and Scripting Script running in bash 3.0 not in 3.2 Post 302279544 by trutoman on Friday 23rd of January 2009 04:03:57 AM
Old 01-23-2009
Script running in bash 3.0 not in 3.2

I have wasted one working day writing this scripts.
It compares two folders and make a good tabbed report about their differences.

Code:
#!/bin/bash

function DRAW_DEPTH () {
 ROUND=$1
 while [ $ROUND -ge 0 ]
 do
   printf %s "    "
   ROUND=`expr $ROUND - 1`
 done
 printf %s "|- "
}

function MAIN () {
 
 TAB=`DRAW_DEPTH $DEPTH`
 
 DIR_LIST=`ls -l $1 | awk '{print $9}'`
 for i in $DIR_LIST
 do
   # Si es un directorio entonces vamos por aki
   
   if [ -d ${1}/${i} ]; then
     if [ -d ${2}/${i} ]; then
       echo "$TAB (OK) ${1}/${i} is a directory, it exist in ${2}"
       DEPTH=`expr $DEPTH + 1`
       MAIN ${1}/${i} ${2}/${i}
       DEPTH=`expr $DEPTH - 1`
       TAB=`DRAW_DEPTH $DEPTH` 
     else
       echo "$TAB (**) ${1}/${i} is a directory, it does NOT exist in ${2}"
     fi

   else    

     # Si no es un directorio miramos primero si es un LINK
     if [ -h ${1}/${i} ]; then
       if [ -h ${2}/${i} ]; then
         checksum_1=`sum ${1}/${i} | awk '{print $1}'`
         checksum_2=`sum ${2}/${i} | awk '{print $1}'`
         if [ $checksum_1 == $checksum_2 ]; then
           echo "$TAB (OK) $i exists as LINK in $1 and in $2 and they're EQUAL"
         else
           echo "$TAB (@@) $i exists as LINK in $1 and in $2 but they DIFFER"
         fi
       else
         echo "$TAB (**) $i exists as LINK in $1 but does NOT exist in $2"
       fi
     else
       if [ -e ${2}/${i} ]; then
         checksum_1=`sum ${1}/${i} | awk '{print $1}'`
         checksum_2=`sum ${2}/${i} | awk '{print $1}'`
         if [ $checksum_1 == $checksum_2 ]; then
           echo "$TAB (OK) $i exists in $1 and in $2 and they're EQUAL"
         else
           echo "$TAB (@@) $i exists in $1 and in $2 but they DIFFER"
         fi
       else
         echo "$TAB (**) $i exists in $1 but does NOT exist in $2"
       fi
     fi
   fi 
done;
}

DEPTH=-1
MAIN $1 $2

I wrote it while i was working with my RedHat 4-6 with bash interpreter:
GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)
But here at work i have Ubuntu 8-04 and bash:
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)

And it doesnt run....Smilie..... someone can tell about what commands have changed or perhaps another problem.
 

10 More Discussions You Might Find Interesting

1. Linux

Cannot running export database using bash script

Hi all, I'm new in linux. When I try to run a bash script, it doesn't execute and i receive the following error message 20070321:220002|ERROR||exportDatabase.bash|Another EXPORT process (pid=2799) is still running. If i kill this pid, i receive "No such process". This process was running... (5 Replies)
Discussion started by: tovohery
5 Replies

2. UNIX for Advanced & Expert Users

debugging an already running bash script

# ps -ef | grep rc root 13903 1 0 08:56 ? 00:00:00 /usr/sbin/automount --timeout=60 /archive file /etc/auto_archive root 10706 1 0 08:55 ? 00:00:00 /bin/bash /etc/rc.d/rc 3 root 2933 20071 0 19:38 pts/1 00:00:00 grep rc Is there any way to debug the... (1 Reply)
Discussion started by: marcpascual
1 Replies

3. Shell Programming and Scripting

Validate BASH script before running it...

Hello, Is there some way to validate a bash script before running it. I want to make sure all of the syntax and everything is good so that I dont get a false return code. Thanks, tom (7 Replies)
Discussion started by: tjones1105
7 Replies

4. UNIX for Dummies Questions & Answers

Running Executable in Bash Script

Hey guys, so I've been trying to write a bash script called runSorter.sh that runs an executable that also takes in some parameters and outputs the results to a text file. The executable, sorter, takes in a number parameter. I want to make it so that you can input as many number parameters into... (4 Replies)
Discussion started by: Duo11
4 Replies

5. UNIX for Dummies Questions & Answers

Help Running a Check in Bash Script

Hey guys, so I wrote a small script that pretty much just takes in two numbers and counts from the first to the second, e.g. unknown-hacker|544> count.sh 1 3 1 2 3 My problem is I want to make it so that if you input invalid parameters, such as non-numerical characters, more than 2... (2 Replies)
Discussion started by: Duo11
2 Replies

6. Shell Programming and Scripting

script running by sh but not by bash

execute the attached script as, bash -x INFA_MAP_GEN_XML.sh "/export/home/e120945/INFORMATICA_MAPPING_GENERATOR/SOURCE" "INFA_TEMPLATE.csv" "/export/home/e120945/INFORMATICA_MAPPING_GENERATOR/TARGET" "UNIX" "/export/home/e120945/INFORMATICA_MAPPING_GENERATOR/SETUP"... (5 Replies)
Discussion started by: 120945
5 Replies

7. Shell Programming and Scripting

Bash shell script to check if script itself is running

hi guys we've had nagios spewing false alarm (for the umpteenth time) and finally the customer had enough so they're starting to question nagios. we had the check interval increased from 5 minutes to 2 minutes, but that's just temporary solution. I'm thinking of implementing a script on the... (8 Replies)
Discussion started by: hedkandi
8 Replies

8. UNIX for Dummies Questions & Answers

Running a C/C++ program and/or bash script from a server

I wish to be able to give to a client the opportunity to : 0) Turn one of my ubuntu computers into a webserver 1) See a webpage after visiting a url where an external user/client can set a couple of variables (e.g. Number1= ?, Number2=?) 2) By pressing "run" the program runs on my machine 3)... (1 Reply)
Discussion started by: frad
1 Replies

9. Shell Programming and Scripting

Running options in bash script

Hello UNIX & Linux Forums community! Long time Linux daily user hobbyist, new to shell scripting.... I'm working on a script that does all the "work" in one script, and makes calls to a second script to display info to the user via mostly expanding variables in heredocs. I'm contemplating... (6 Replies)
Discussion started by: Cody Learner
6 Replies

10. Shell Programming and Scripting

Running nmap via bash script

Hello fellow scripters... I am trying to set up a script for work that reads the contents of a file of IP address and network names, takes these and runs a given nmap scan against them and then saves the output to a file with the filename of the network name. Such as... IP file looks like... (4 Replies)
Discussion started by: hawkeyesc72
4 Replies
proclint(1)							    2008-12-09							       proclint(1)

NAME
proclint - Lint procmail rc files for proper syntax SYNOPSIS
proclint [options] <procmail *.rc files> OPTIONS
-h, --help Display short help. -i, --includerc Scan and possibly list files included in code with INCLUDERC statements. -I, --noinclude Do not scan INCLUDERC references (default). -l, --list List lines in the procmail recipe files. -L, --nolist Do not list lines, except for errors (default). -p, --procmailrc Check $HOME/.procmailrca DESCRIPTION
Check procmail rc files for proper syntax, recipe nesting, etc. The output consists of: "LINE-NUMBER:FLAG:DEPTH: text". FLAG is one of: R recipe C condition A action (redirect, '!', or pipe, '|') F folder = assignment + continuation E *line may be erroneous* DEPTH indicates the depth of the recipe nesting and is shown only when greater than zero. BUGS
There are many bugs. E.g. multiline handling is not done (continued strings). Please regard the output as advisory only.x STATUS CODES
Program returns non-zero in case problem is found. ENVIRONMENT
None. FILES
None. SEE ALSO
procmail(1) AUTHORS
Program was written by Alan K. Stebbens <aks@sgi.com>. This manual page was written by Jari Aalto <jari.aalto@cante.net>. Released under license GNU GPL v2 or (at your option) any later version. For more information about license, visit <http://www.gnu.org/copyleft/gpl.html>. proclint 2008-12-09 proclint(1)
All times are GMT -4. The time now is 09:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy