Script not working as expected


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script not working as expected
# 1  
Old 02-19-2014
Script not working as expected

Hi,

I have prepared a script and trying to execute it but not getting expected output. Could you please help and advise what is going wrong.
"If else" part in below script is not working basically.
I am running it on HP-UX.
Code:
for i in slpd puma sfmdb
do
echo "******\t$i\t*******"
echo "--------------"
if {"$i"=="puma"}; then
ps -ef|grep -i $i|grep -v grep |head -1|awk -F ' '  '{print "Username: "$1 "\nPID: "$2 "\tProcessname:"  $9}';ps -ef|grep puma|grep -v grep|sed -n '2,$p' |awk -F ' '  '{print "Username: "$1 "\nPID: "$2 "\tProcessname:"  $8}'
else
ps -ef|grep -i $i|grep -v grep |awk 'BEGIN {print "Username\tPID\t\tProcessname";}
{print $1,"\t\t",$2,"\t\t",$9;}
END{print "Report Generated\n--------------";}' 
fi
done

# 2  
Old 02-19-2014
What is the output of your script? What is expected output?
This User Gave Thanks to anbu23 For This Post:
# 3  
Old 02-19-2014
Quote:
Originally Posted by sv0081493
Hi,
....
Code:
....
....
if {"$i"=="puma"}; then
...


Code:
if [  "$i" == "puma"  ]; then

This User Gave Thanks to Akshay Hegde For This Post:
# 4  
Old 02-19-2014
No doing with below also not working
Code:
if [  "$i" == "puma"  ]; then

---------- Post updated at 06:50 AM ---------- Previous update was at 06:45 AM ----------

Error I am getting as below
Code:
ksh[5]: {slpd==puma}:  not found

expected output

Code:
******  puma    *******
--------------

Username: sfmdb
PID: 2282       Processname:postgres:
Username: puma
PID: 2434       Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd
Username: puma
PID: 18823      Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd
Username: puma
PID: 18844      Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd

******  slpd    *******
--------------
Username        PID             Processname
root             2239            /opt/iscsi/bin/islpd
daemon           2237            slpd
Report Generated
--------------
******  sfmdb   *******
--------------
Username        PID             Processname
sfmdb            2282            postgres:
sfmdb            2277            /opt/sfmdb/pgsql/bin/postmaster
sfmdb            2283            postgres:
Report Generated
--------------


Last edited by Franklin52; 02-19-2014 at 08:27 AM.. Reason: Please use code tags
# 5  
Old 02-19-2014
Quote:
Originally Posted by sv0081493
No doing with below also not working
Code:
if [  "$i" == "puma"  ]; then

---------- Post updated at 06:50 AM ---------- Previous update was at 06:45 AM ----------

Error I am getting as below
Code:
ksh[5]: {slpd==puma}:  not found

expected output

Code:
******  puma    *******
--------------

Username: sfmdb
PID: 2282       Processname:postgres:
Username: puma
PID: 2434       Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd
Username: puma
PID: 18823      Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd
Username: puma
PID: 18844      Processname:/osmf/mgmt/UCPS/puma/webserverssl/bin/httpd

******  slpd    *******
--------------
Username        PID             Processname
root             2239            /opt/iscsi/bin/islpd
daemon           2237            slpd
Report Generated
--------------
******  sfmdb   *******
--------------
Username        PID             Processname
sfmdb            2282            postgres:
sfmdb            2277            /opt/sfmdb/pgsql/bin/postmaster
sfmdb            2283            postgres:
Report Generated
--------------

To get rid of the error try :
Code:
if [ "$i" = "puma" ] ; then

and here better use a double quote for sed instead of the single:
Code:
ps -ef|grep puma|grep -v grep|sed -n '2,$p' |awk -F ' '  '{print "Username: "$1 "\nPID: "$2 "\tProcessname:"  $8}'


Last edited by chacko193; 02-19-2014 at 08:36 AM.. Reason: Code tags
This User Gave Thanks to chacko193 For This Post:
# 6  
Old 02-19-2014
Hi I tried using below. but again getting error. Also use double quotes in sed
Code:
 
if [ "$i" = "puma" ] ; then

ksh[5]: {slpd: not found

Last edited by sv0081493; 02-19-2014 at 09:22 AM.. Reason: Adding
# 7  
Old 02-19-2014
Quote:
Originally Posted by sv0081493
Hi I tried using below. but again getting error
Code:
 
if [ "$i" = "puma" ] ; then

ksh[5]: {slpd: not found
Use [ .. ] not {..}
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Why this script is not working as 'expected' when doing ssh with while read ... really confused?

Hi, I have a script below that is running ssh <host> <command> on some servers. Below is more or less the script. I have to modify it somehow to get rid of the 'confidential' hostnames check_log.bash #!/bin/bash # myPID=$$ parse_log () { sub="parse_log" host=${1} ... (2 Replies)
Discussion started by: newbie_01
2 Replies

2. UNIX for Beginners Questions & Answers

Passing Arguments to shell script from file is not working as expected.

Hi All, I have below simple shell script in cloudera quick start vm cenos 6 which copy file from source to destination. # file_copy.sh source_dir = ${source_dir} target = ${target_dir} cp source_dir target and my parameter file is like below #parameter_file.txt source_dir =... (4 Replies)
Discussion started by: Narasimhasss
4 Replies

3. Shell Programming and Scripting

awk matching script not working as expected

This is my ubuntu version: $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial $ /bin/awk -V | head -n1 bash: /bin/awk: No such file or directory I have gotten a script that helps me to parse,... (14 Replies)
Discussion started by: delbroooks
14 Replies

4. Shell Programming and Scripting

awk not working as expected in script

Dear all, I had script which used to work, but recently it is not working as expected. I have command line in my shell script to choose the following format from the output_elog and perform some task afterwards on As you see, I want all numbers in foramt following RED mark except for... (12 Replies)
Discussion started by: emily
12 Replies

5. UNIX for Dummies Questions & Answers

Nohup not working as expected

Hi. I am trying to start a script on my router that will execute even if i log off. To execute the script I write: nohup ./dslconnection > dslstat.out 2>&1 & It starts the job: 21968 admin 1604 S /bin/ash ./dslconnection The problem is that when I log back in the job has been... (6 Replies)
Discussion started by: sebcou
6 Replies

6. UNIX for Dummies Questions & Answers

-atime not working as expected

I need to sort through a volume that contains video files by access time and delete files that have not been accessed over x days. I have to use the access time as video files are originals that do not get modified, just read Testing commands on a local test folder... $ date Wed Sep 28... (10 Replies)
Discussion started by: canon273
10 Replies

7. Shell Programming and Scripting

Why this is not working in expected way?

total=0 seq 1 5 | while read i ; do total=$(($total+$i)) echo $total done echo $totalThis outputs: 1 3 6 10 15 0whereas I am expecting: 1 3 6 10 15 15My bash version: (4 Replies)
Discussion started by: meharo
4 Replies

8. UNIX for Dummies Questions & Answers

Redirection not working as expected

Portion of my script below : if ; then NUMBEROFFEILDS=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w ${db_file_path}|awk -F: '{print NF}'` COUNT=4 while ; do awk_var="$"`echo $COUNT` file_name1=`cat ${BASE_SCRIPT_LOC}/standardfilecleanup.lst|grep -w... (1 Reply)
Discussion started by: findprakash
1 Replies

9. Shell Programming and Scripting

ls not working as expected within ksh

Hi, I use the command ls a\b\c\*.txt from the command line on HP UNIX and it works fine - It lists all files matching *.txt in the a\b\c directory When embeded in a ksh script `ls a\b\c\*.txt` it does not work - I get *.txt not found (even though there are files) I tried... (10 Replies)
Discussion started by: GNMIKE
10 Replies

10. Shell Programming and Scripting

which not working as expected

Hello. Consider the following magic words: # ls `which adduser` ls: /usr/sbin/adduser: No such file or directory # Hmmm... Then: # ls /usr/sbin/adduser /usr/sbin/adduser # Now what? Unforunately this little sniippet is used in my debian woody server's mysql pre install script.... (2 Replies)
Discussion started by: osee
2 Replies
Login or Register to Ask a Question