Different output for script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Different output for script?
# 1  
Old 12-02-2009
Different output for script?

Good morning guys!

When I run this full script:
Code:
#!/bin/sh
echo "Please type oracle-lower case please:"
read X
if [[ "${X}" != "oracle" ]]
then
       echo "Sorry that is not oracle, try again"
       exit 1
else
       echo Thank you
fi
find / -name oracle 2>/dev/null |
while read line
do
        bdf | grep "$X" | awk 'BEGIN {total=used=free=0}
        {total +=$2
         used +=$3
         free +=$4}
 END    {print "total space for oracle: "total;
         print "free space available for oracle: "free;
         print "space already used by oracle: "used}'
done

The output is:
total space for oracle: 0
free space available for oracle: 0
space already used by oracle: 0


When I run from this point below:
Code:
find / -name oracle 2>/dev/null |
while read line
do
        bdf | grep "$X" | awk 'BEGIN {total=used=free=0}
        {total +=$2
         used +=$3
         free +=$4}
 END    {print "total space for oracle: "total;
         print "free space available for oracle: "free;
         print "space already used by oracle: "used}'
done

I get:
total space for oracle: 2.01234e+09
free space available for oracle: 5.41099e+06
space already used by oracle: 3.29016e+08
bdf: /home/auto/***: Stale NFS file handle
bdf: /home/auto/***: Stale NFS file handle


I need to run the entire script, with the correct output, but without the NFS errors?

Can anyone tell me what Ive done wrong?

Bigben1220



Last edited by pludi; 12-02-2009 at 10:16 AM.. Reason: code tags, please...
# 2  
Old 12-02-2009
In the 2nd code block, it doesn't show where $X is set. If it isn't, then the bdf is probably returning all filesystems and the grep $X is not filtering the output.
# 3  
Old 12-02-2009
Instead of
Code:
bdf | ...

use
Code:
bdf 2>/dev/null | ...

to get rid of the errors.

Last edited by Scrutinizer; 12-02-2009 at 10:47 AM..
# 4  
Old 12-02-2009
jsmithstl-how woudl I correct that? I thought I set the value at the top of the script when I put $X=oracle?

How would I fix it to run the whole script correctly?

Scrutinizer-thanks!

bigben1220
# 5  
Old 12-02-2009
do the below:-


Code:
#!/bin/sh
echo "Please type oracle-lower case please:"
read X
if [[ "${X}" != "oracle" ]]
then
       echo "Sorry that is not oracle, try again"
       exit 1
else
       echo Thank you
fi
find / -name oracle 2>/dev/null |
while read line
do
        bdf | grep "oracle" | awk 'BEGIN {total=used=free=0}
        {total +=$2
         used +=$3
         free +=$4}
 END    {print "total space for oracle: "total;
         print "free space available for oracle: "free;
         print "space already used by oracle: "used}'
done

# 6  
Old 12-02-2009
Your script prompts the user to enter "oracle" and exits if any other value is typed in. Why even ask if all you'll accept is "oracle"? Eliminate the read and just do as Ahmad.diab suggests above.

Scrutinizer's suggestion above is something you should do as well.

Last edited by jsmithstl; 12-02-2009 at 11:27 AM.. Reason: Added comment regarding Scrutinizer's suggestion
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script to call and sort awk script and output

I'm trying to create a shell script that takes a awk script that I wrote and a filename as an argument. I was able to get that done but I'm having trouble figuring out how to keep the header of the output at the top but sort the rest of the rows alphabetically. This is what I have now but it is... (1 Reply)
Discussion started by: Eric7giants
1 Replies

2. Shell Programming and Scripting

A shell script to run a script which don't get terminated and send a pattern from the output by mail

Hi Guys, I am very new to shell script and I need your help here to write a script. Actually, I have a script abc.sh which don't get terminated itself. So I need to design a script to run this script, save the output to a file, search for a given string in the output and if it exists send those... (11 Replies)
Discussion started by: Sambit Sahu
11 Replies

3. Shell Programming and Scripting

Shell Script function to use script name for log file output

Hi Team - I"m very new to Shell Scripting so I have a rather novice question. My forte is Windows Batch Scripting so I was just wondering what the Shell Script equivalent is to the DOS command %~n? %~n is a DOS variable that dispayed the script name. For instance (in DOS): REM... (11 Replies)
Discussion started by: SIMMS7400
11 Replies

4. Shell Programming and Scripting

Need output of script on screen and file with correct return status of the called script.

Hi, I am trying to capture logs of the script in the file as well as on the screen. I have used exec and tee command for this. While using exec command I am getting the correct output in the file but, script output is not getting displayed on the screen as it get executed. Below is my sample... (14 Replies)
Discussion started by: Prathmesh
14 Replies

5. Shell Programming and Scripting

Redirect script output to a file and mail the output

Hi Guys, I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts. I used below but it is not working: OFILE=/home/home1/report1 echo "report1 details" > $OFILE =/home/home1/1.sh > $OFILE echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies

6. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

7. Shell Programming and Scripting

Need bash script to ping the servers and rename the output file each time the script is ran

HI, I have a file serverlist in that all host names are placed. i have written a small script #./testping #! /bin/bash for i in `cat serverlist` do ping $i >> output.txt done so now it creates a file output.txt till here fine.. now each time i run this script the output file... (4 Replies)
Discussion started by: madhudeva
4 Replies

8. Shell Programming and Scripting

Awk script to run a sql and print the output to an output file

Hi All, I have around 900 Select Sql's which I would like to run in an awk script and print the output of those sql's in an txt file. Can you anyone pls let me know how do I do it and execute the awk script? Thanks. (4 Replies)
Discussion started by: adept
4 Replies

9. Red Hat

Cron task output is 0, script output is OK

I have the following cron task set to run every 15 minutes to ascertain how many users are in the system and append the result to the log. /home/pronto/cus/whoisinc >> /home/pronto/cus/whoisin.log This is the whoisinc script date +"%d-%m-%Y,%k:%M,Pronto Users,`prowho -s | grep -v... (1 Reply)
Discussion started by: scottm
1 Replies

10. Shell Programming and Scripting

Running a script in system() call and want the script's output

Hi All, I have a script(sample.sh) displaying the output of "dd" command. Now i am using this script in system() call as, system("sh sample.sh") in an application file. I want the output of system("sh sample.sh") in the application file itself. How can i get it? Many thnaks.... (9 Replies)
Discussion started by: amio
9 Replies
Login or Register to Ask a Question