Error in if statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Error in if statement
# 1  
Old 09-28-2010
Error in if statement

I am working on script for stale nfs.

the file consists of

Code:
cat data01stale.log
-               -               -               -               /abcd/backup
-               -               -               -               /abcd/data



Script


Code:
#!/bin/bash
set -x
#
grep -  data01awk.log

if [ $? -eq 0 ]; then



              if [ `data01stale.log | wc -l` -eq 1 ]; then
              awk '$1 $2 $3 == "---" { exit 1 }' data01stale.log
              #awk '$2 $3 $4 == "---" { exit 1 }' data01stale.log}

                     if [ $? -ne 0 ]; then
                      echo "Found NFS issues on data01"
                      u=$(awk '{ print $5 }' data01stale.log)
                     
                      printf "                 NFS issues on data01                                                \n"
                     
                      #grep -i $u data01Out.log
                      echo -e "[root@data01 ]# df -hP | grep -i $u \n"
                      #df -hP | grep -i $u
                      echo " "
                     fi

else

              echo "Found Multiple NFS issues on data01"
              for u in `(data01stale.log |  awk '{print $5}')`
              do
              
                  echo -e "[root@data01 ]# df -hP | grep -i $u \n"
                      df -hP | grep -i $u
                      echo " "
                     fi
else
printf "                      NO  NFS issues on ausomxdta01                                       \n"
echo -e "[root@data01 ${UUID}]# df -hP \n"
df -hP
exit
fi

done


Last edited by nareshkumar522; 09-28-2010 at 06:27 AM.. Reason: formatted the script some lines are missing
# 2  
Old 09-28-2010
Please give the error you're seeing in console. It will be useful to understand the issue rather reading ur script code.
# 3  
Old 09-28-2010
line 40: syntax error near unexpected token `fi'
line 40: `fi '
# 4  
Old 09-28-2010
check the if...else...fi loop.
U had written
fi and then else part of code.
# 5  
Old 09-28-2010
A proper indentation and syntax coloration helps a lot
bash code:
  1. #!/bin/bash
  2. set -x
  3. #
  4. grep -  data01awk.log
  5. if [ $? -eq 0 ]
  6. then
  7.    if [ `data01stale.log | wc -l` -eq 1 ]
  8.    then
  9.       awk '$1 $2 $3 == "---" { exit 1 }' data01stale.log
  10.       #awk '$2 $3 $4 == "---" { exit 1 }' data01stale.log}
  11.       if [ $? -ne 0 ]
  12.       then
  13.          echo "Found NFS issues on data01"
  14.          u=$(awk '{ print $5 }' data01stale.log)
  15.          printf "                 NFS issues on data01                                                \n"
  16.          #grep -i $u data01Out.log
  17.          echo -e "[root@data01 ]# df -hP | grep -i $u \n"
  18.          #df -hP | grep -i $u
  19.          echo " "
  20.       fi
  21.    else
  22.       echo "Found Multiple NFS issues on data01"
  23.       for u in `(data01stale.log |  awk '{print $5}')`
  24.       do
  25.          echo -e "[root@data01 ]# df -hP | grep -i $u \n"
  26.          df -hP | grep -i $u
  27.          echo " "
  28.       fi
  29.    else
  30.       printf "                      NO  NFS issues on ausomxdta01                                       \n"
  31.       echo -e "[root@data01 ${UUID}]# df -hP \n"
  32.       df -hP
  33.       exit
  34.    fi
  35. done
Line 28 You have an unexpected fi statement before the end of for .. in .. do .. done
# 6  
Old 09-29-2010
Hi
Could some one please check and help me what could be the correct syntax
# 7  
Old 09-29-2010
the last part of code should be as follows,

else
echo "Found Multiple NFS issues on data01"
for u in `(data01stale.log | awk '{print $5}')`
do
echo -e "[root@data01 ]# df -hP | grep -i $u \n"
df -hP | grep -i $u
echo " "
done
fi
else
printf " NO NFS issues on ausomxdta01 \n"
echo -e "[root@data01 ${UUID}]# df -hP \n"
df -hP
exit
fi
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Error code with if statement

hello all im new to unix and when i use below script i get an error : #! /bin/bash Echo -e "enter the name of the file : \c" read file_name if then echo "$file_name found" else echo "$file_name not found" fi running the script i get below error : $ ./hello (26 Replies)
Discussion started by: Ibrahims1
26 Replies

2. Shell Programming and Scripting

Awk/if statement error

Can anybody tell the correct way to use the following awk pattern check within an if statement? When I run this command outside of the if statement cat /tmp/test2.out | awk -v T=$TIME -v G=$GROUP -v C=$CDATE '$0 ~ T && $0 ~ G && $0 ~ C' | grep -i "Starting the group" I get the following... (0 Replies)
Discussion started by: kieranfoley
0 Replies

3. Shell Programming and Scripting

If statement Syntax error

Hi Can you please tell me what is wrong with this line: if && ]; then basically i want to check if x = 12 and F (Filename) end with 'g'. But it is throwing syntax error. (7 Replies)
Discussion started by: rtagarra
7 Replies

4. UNIX for Dummies Questions & Answers

error in if statement

Hi, This is my script to catch any oracle errors. In this, the $sqlerr returns ORA-01017: invalid username/password; logon denied when i specify wrong username/password the if condition is failing. how can i resolve the issue. the if statement gives error sqloutput=`sqlplus -s -L... (1 Reply)
Discussion started by: Swapna173
1 Replies

5. Shell Programming and Scripting

error in insert statement

hi, When i try to run the code below, i get the following error "ksh: syntax error: `(' unexpected" i am not able to figure it out. Can anyone help me? Code: (2 Replies)
Discussion started by: ragavhere
2 Replies

6. Shell Programming and Scripting

Error in IF statement

HI i am getting error while executing the given statement for filename in `cat a/file.lst` do if then echo "Exit Code Description :File $filename - is missing in Input Directory" >a.log exit else count1=`awk 'END {print NR}' $filename` echo "$count1">>a.log count2=`awk 'END {print... (4 Replies)
Discussion started by: ravi214u
4 Replies

7. Linux

error in if statement

Hi , I am getting an error when I run the script for checking word "view" in a file . I am using if statement. like this if then VW_VAR=` cat $TN.${ecmdate}.sql1 | grep -i view | awk '{print $3}' | cut -d '.' -f2 ` echo " VW_$VW_VAR " sed -e... (16 Replies)
Discussion started by: capri_drm
16 Replies

8. Shell Programming and Scripting

Snytax error on If Statement--help

year=`date '+%Y'` month=`date '+%m'` day=`date '+%d'` day=`expr $day - 1` case $month in 1 | 3 | 5 | 7 | 8 | 10 | 12);; if($day =7 ); then $day=6 fi 4 | 6 | 9 | 11);; if ; then $day=31 fi 2);; if ; then if ; then (2 Replies)
Discussion started by: dannyd_y
2 Replies

9. Shell Programming and Scripting

Error with if statement..Please help

:b:hi, I have a script as given below: pr_det="1" if then awk ' BEGIN {printf("%23s","session")}' >> report.txt awk ' BEGIN {printf "\n"} ' >> report.txt else awk ' BEGIN {printf("%55s","file_dsc")} ' >> report.txt awk ' BEGIN {printf("%101s","no_recs")} '... (1 Reply)
Discussion started by: jisha
1 Replies

10. Shell Programming and Scripting

parsing error in if statement

hello, I am trying to parse an error returned by a command inside the if statement but it is just displays the full error instead and then stops. if ; then echo "no such package" else echo "similar version found will use pkgrm" fi the above code just displays please let me know... (2 Replies)
Discussion started by: rakeshou
2 Replies
Login or Register to Ask a Question