Need help with script


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Need help with script
# 1  
Old 09-12-2008
Need help with script

Hi guys. i have this 2 seperate script. Is there any way i can put them together in a single script?

the code return from this sql query is:
count
-------
0
(1 row)

Code:
su -l postgres -s /bin/sh -c "psql -c 'SELECT count(*) FROM pdata WHERE updata=0 LIMIT 10' -d " >x

Code:
op=`awk 'NR==3{print}' x`
if [ "$op" -gt 0 ]; then
  echo "Data is Awaiting Upload!"
  exit 0
fi
echo "Data Is Running Smoothly!"

Appreciate any help given..
# 2  
Old 09-12-2008
Code:
op=$(su -l postgres -s /bin/sh -c "psql -c 'SELECT count(*) FROM pdata WHERE updata=0 LIMIT 10' -d " | awk 'NR==3')
if [ "$op" -gt 0 ]; then
  echo "Data is Awaiting Upload!"
  exit 0
fi
echo "Data Is Running Smoothly!"

# 3  
Old 09-12-2008
It isn't necessary to use a temporary file:

Code:
op=`su -l postgres -s /bin/sh -c "psql -c 'SELECT count(*) FROM pdata WHERE updata=0 LIMIT 10' -d "|awk 'NR==3{print}"`

if [ "$op" -gt 0 ]; then
  echo "Data is Awaiting Upload!"
  exit 0
fi
echo "Data Is Running Smoothly!"

Regards
# 4  
Old 09-12-2008
Thanks alot man, it works.
# 5  
Old 09-12-2008
Or even a temporary variable

Code:
su -l postgres ... |
awk 'NR==3{ if ($1 > 0) { print "Data is awaiting upload!"; exit 0; } exit 1}' && exit 0
echo "Data Is Running Smoothly!"

I'm not sure if you really need the -s /bin/sh stuff if all you do is run a single psql command. I changed the logic so that the output from su psql is piped to awk but again, I'm not sure how exactly to adapt the su command so it works correctly for this.
# 6  
Old 09-12-2008
Thanks again .

And 1 more thing to ask for help.

how do i do a lesser then 0 and greater then 100?
Code:
if [ "$op" -gt 100 ]

Code:
echo "Data is Awaiting Upload!"

how do i add the value of $op into the echo statement?
Thanks again guys.
# 7  
Old 09-12-2008
I continue to suggest that you do the numeric processing and output formatting in awk, as these things are a bit tricky to do in shell.

Code:
awk 'NR==3{ if ($1 > 0 && $1 < 100) { print "Data is awaiting upload! ($1)"; exit 0; } exit 1}'

 
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question