Shell script not working on Solaris 10


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script not working on Solaris 10
# 1  
Old 02-05-2013
Shell script not working on Solaris 10

Hi

Iam running the below scripts on one file on solaris 10 but its giving error.

code

HTML Code:
sh BNGREPORT1.sh z1
code in file BNGREPORT1.sh is given below.

HTML Code:
root@blr-svr-oclan-01 # more BNGREPORT1.sh
#!/bin/sh
#cd /surender
FILE="bng_total_report_$(date +%Y%m%d_%H%M%S)"
echo HOST_NAME "|" IP  "|" FREE_MEMORY "|" INT_DISK_UTILIZATION "|" SUB_ACT-SESSIONS "|" CPU_UTIL "|" ENT_DISK_UTILIZATION
echo HOST_NAME "|" IP  "|" FREE_MEMORY "|" INT_DISK_UTILIZATION "|" SUB_ACT-SESSIONS "|" CPU_UTIL "|" ENT_DISK_UTILIZATION  >> $FILE
.xls
cat $1 | egrep "IP IS|cont bsnl.in|PPPoE|CPU % usage|Memory:|Internal|External" > bngreport.tmp
#cat $1 | egrep "IP IS|cont bsnl.in|PPPoE|Total |Memory:|Internal|External" > bngreport.tmp
while read line
do
if [ "`echo  $line | grep IP`" ]
then
IP=`echo $line | cut -d" " -f3`
continue
elif [ "`echo $line | grep "cont bsnl.in"`" ]
then
HOST_NAME=`echo $line | cut -c8-25`
continue
elif [ "`echo $line | grep PPPoE`" ]
then
sub=`echo $line | cut -c9-13`
continue
elif [ "`echo $line | grep "CPU % usage"`" ]
#elif [ "`echo $line | grep "Total"`" ]
then
CPU_UTIL=`echo $line | cut -d"," -f5 | cut -c2-6`
continue
elif [ "`echo $line | grep Memory:`" ]
then
mem=`echo $line | cut -c46-53`
continue
elif [ "`echo $line | grep Internal`" ]
then
disk_int=`echo $line | cut -c30-34`
continue
elif [ "`echo $line | grep External`" ]
then
disk_ent=`echo $line | cut -c30-33`
echo $HOST_NAME "|" $IP  "|" $mem "|" $disk_int "|" $sub "|" $CPU_UTIL "|" $disk_ent
echo $HOST_NAME "|" $IP  "|" $mem "|" $disk_int "|" $sub "|" $CPU_UTIL "|" $disk_ent  >> $FILE.xls
continue
fi
done<bngreport.tmp
#mv /root/$FILE.xls /surender/reports
source file z1 is below

HTML Code:
IP IS 10.238.52.65
spawn telnet 10.238.52.65
Trying 10.238.52.65...
Connected to 10.238.52.65.
Escape character is '^]'.

pun-ras-bng-mhs-01

[local]pun-ras-bng-mhs-01#cont bsnl.in
[bsnl.in]pun-ras-bng-mhs-01#show sub sum all 
--------------------------------------------------------------------------------
Total=12031

Type            Authenticating          Active          Disconnecting
PPP                          0               0                      0
PPPoE                        4           12027                      4
DOT1Q                        0               0                      0
CLIPs                        0               0                      0
ATM-B1483                    0               0                      0
ATM-R1483                    0               0                      0
Mobile-IP                    0               0                      0
[bsnl.in]pun-ras-bng-mhs-01#show process cpu | grep CPU
Total system CPU % usage (5s, 1m, 5m): 76.90, 58.01, 54.93
[bsnl.in]pun-ras-bng-mhs-01#show process aaad detail | grep CPU 
%CPU                : 11.38%
[bsnl.in]pun-ras-bng-mhs-01#show memory 
Memory: Total 922428k, Used 684532k, Free 195648k, Reserved 24k
[bsnl.in]pun-ras-bng-mhs-01#show disk
Location  512-blocks     Used    Avail Capacity  Mounted on
Internal      968158   536932   382818    58%    /
External      922558   235166   641264    26%    /md
[bsnl.in]pun-ras-bng-mhs-01#exit
Connection to 10.238.52.65 closed by foreign host.


IP IS 10.238.54.1
spawn telnet 10.238.54.1
Trying 10.238.54.1...
Connected to 10.238.54.1.
Escape character is '^]'.



[local]enk-ras-bng-cse-01#cont bsnl.in
[bsnl.in]enk-ras-bng-cse-01#show sub sum all 
--------------------------------------------------------------------------------
Total=16820

Type            Authenticating          Active          Disconnecting
PPP                          0               0                      0
PPPoE                        8           16812                      3
DOT1Q                        0               0                      0
CLIPs                        0               0                      0
ATM-B1483                    0               0                      0
ATM-R1483                    0               0                      0
Mobile-IP                    0               0                      0
[bsnl.in]enk-ras-bng-cse-01#show process cpu | grep CPU
Total system CPU % usage (5s, 1m, 5m): 66.65, 70.36, 69.82
[bsnl.in]enk-ras-bng-cse-01#show process aaad detail | grep CPU 
%CPU                : 13.62%
[bsnl.in]enk-ras-bng-cse-01#show memory 
Memory: Total 922428k, Used 685872k, Free 190908k, Reserved 24k
[bsnl.in]enk-ras-bng-cse-01#show disk
Location  512-blocks     Used    Avail Capacity  Mounted on
Internal      968158   571876   347874    62%    /
External      922558   656022   220408    74%    /md
[bsnl.in]enk-ras-bng-cse-01#exit
Connection to 10.238.54.1 closed by foreign host.
Connection to 10.238.54.1 closed by foreign host.
output coming as below

HTML Code:
 root@blr-svr-oclan-01 # sh BNGREPORT1.sh z1
HOST_NAME | IP | FREE_MEMORY | INT_DISK_UTILIZATION | SUB_ACT-SESSIONS | CPU_UTIL | ENT_DISK_UTILIZATION
BNGREPORT1.sh: : cannot execute
BNGREPORT1.sh: test: argument expected
root@blr-svr-oclan-01 #
can any body help.

tnx in advance.
# 2  
Old 02-05-2013
You perform this form of test a number of times, however if the grep fails what happens?
Code:
if [ "`echo  $line | grep IP`" ]

perhaps you should perform you test something like the following under bash:
Code:
if [ ! -z "`echo  $line | grep IP`"  ] ;then

# 3  
Old 02-05-2013
Hi

error coming while executing the code

HTML Code:
root@blr-svr-oclan-01 #  sh bngreports.sh z1
HOST_NAME | IP | FREE_MEMORY | INT_DISK_UTILIZATION | SUB_ACT-SESSIONS | CPU_UTIL | ENT_DISK_UTILIZATION
bngreports.sh: [!: not found
bngreports.sh: : cannot execute
bngreports.sh: test: argument expected
root@blr-svr-oclan-01 #
# 4  
Old 02-05-2013
I would highly recommend to intend your code for better readability!

Try this modified code and see if it works:
Code:
#!/bin/sh
#cd /surender

FILE="bng_total_report_$( date +%Y%m%d_%H%M%S )"
echo "HOST_NAME | IP  | FREE_MEMORY | INT_DISK_UTILIZATION | SUB_ACT-SESSIONS | CPU_UTIL | ENT_DISK_UTILIZATION" | tee ${FILE}.xls

egrep "IP IS|cont bsnl.in|PPPoE|CPU % usage|Memory:|Internal|External" $1 > bngreport.tmp

while read line
do
        if grep -q "IP" "$line"
        then
                IP=$( echo "$line" | cut -d" " -f3 )
                continue;
        elif grep -q "cont bsnl.in" "$line"
        then
                HOST_NAME=$( echo "$line" | cut -c8-25 )
                continue;
        elif grep -q "PPPoE" "$line"
        then
                sub=$( echo "$line" | cut -c9-13 )
                continue;
        elif grep -q "CPU % usage" "$line"
        then
                CPU_UTIL=$( echo "$line" | cut -d"," -f5 | cut -c2-6 )
                continue;
        elif grep -q "Memory:" "$line"
        then
                mem=$( echo "$line" | cut -c46-53 )
                continue;
        elif grep -q "Internal" "$line"
        then
                disk_int=$( echo "$line" | cut -c30-34 )
                continue;
        elif grep -q "External" "$line"
        then
                disk_ent=$( echo "$line" | cut -c30-33 )
                echo "$HOST_NAME | $IP  | $mem | $disk_int | $sub | $CPU_UTIL | $disk_ent" | tee ${FILE}.xls
                continue;
        fi
done < bngreport.tmp

Avoid using back-ticks in script.

Set xtrace and verbose and run it if any error found:
Code:
#!/bin/sh -xv

# 5  
Old 02-06-2013
Quote:
Originally Posted by surender reddy
Hi

error coming while executing the code

HTML Code:
root@blr-svr-oclan-01 #  sh bngreports.sh z1
HOST_NAME | IP | FREE_MEMORY | INT_DISK_UTILIZATION | SUB_ACT-SESSIONS | CPU_UTIL | ENT_DISK_UTILIZATION
bngreports.sh: [!: not found
bngreports.sh: : cannot execute
bngreports.sh: test: argument expected
root@blr-svr-oclan-01 #
I left a space between the test and teh negation ie: [ ! not [!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

Shell script help: not working as I like

Student just starting to learn shell script I have file named smallFile John:Doe:ECE:3.54:doe@jd.home.org:111.222.3333 James:Davis:ECE:3.71:davis@jd.work.org:111.222.1111 Al:Davis:CS:2.63:davis@a.lakers.org:111.222.2222 Ahmad:Rashid:MBA:3.74:ahmad@mba.org:111.222.4444... (2 Replies)
Discussion started by: jetoutant
2 Replies

2. Shell Programming and Scripting

Cp not working in shell script but running perfectly from shell

Dear All, I have script. Dest="" IFS=' ' for translation in $(echo $MY_MAP) do t1=$(echo $translation | cut -d"=" -f1) t2=$(echo $translation | cut -d"=" -f2| cut -d"," -f1) if then Dest=$UNX/$u_product_path/$u_study_path/$UNXTR/$t2 break; ... (4 Replies)
Discussion started by: yadavricky
4 Replies

3. Shell Programming and Scripting

Shell script not working

. /home/bscs6/.kshrc set -x monthy=`date +%m` daty=`date +%d` yeary=`date +%Y` cd /home/bscs6/scripts sqlplus sysadm/sysadm@SEGODI @lms_profile.sql mv /home/bscs6/scripts/lmsprofile.log /home/bscs6/scripts/LMS_PROFILE_DUMP_$daty$monthy$yeary.txt gives me the error below: LMS_PROFILE.sh:... (3 Replies)
Discussion started by: malefho
3 Replies

4. Ubuntu

Shell script not working accordingly

loop=y while do clear tput cup 5 15 echo -n "People Database" echo -n "====================================" tput cup 8 12 echo -n "L-Print Last Names" tput cup 9 12 echo -n "F-Print First NAmes" tput cup 10 12 echo -n "C-Print First Name, Last Name sorted by city" tput cup 11 12... (3 Replies)
Discussion started by: Akhilaprabhakar
3 Replies

5. Shell Programming and Scripting

expect script inside shell script not working.

Shell Scipt: temp.sh su - <$username> expect pass.exp Expect script: pass.exp #!/usr/bin/expect -f # Login ####################### expect "Password: " send "<$password>\r" it comes up with Password: but doesnt take password passed throguh file. (2 Replies)
Discussion started by: bhavesh.sapra
2 Replies

6. UNIX for Dummies Questions & Answers

shell Script working

i wrote a shell program in Home Directory. and i changed to other directory. i want to try to execute shell script in Other Dir. it is not executed. how can i make this script to execute in other directory also?? Thanks, Arun (11 Replies)
Discussion started by: arun508.gatike
11 Replies

7. Shell Programming and Scripting

Script working in AIX, but giving error in SOLARIS

Hi, My script is working fine in AIX but throwing an error in SOLARIS system. Here is the error message that I am getting when calculating the elapsed time: /home/x772525/FindETA.sh: start_mins = *60 + : syntax error . ((start_mins = $(expr substr "$j" 1 2)*60 + $(expr substr "$j" 4... (6 Replies)
Discussion started by: ajayakunuri
6 Replies

8. Shell Programming and Scripting

Script failing on Solaris 10 and working on 8

I have a script and code is like this .. if ]; then it's compiling about @ . what's the wrong in Solaris 10 with this? Thanks (1 Reply)
Discussion started by: talashil
1 Replies

9. Shell Programming and Scripting

Perl script 'system' linking to local shell script not working

Trying to figure out why this works: printpwd.pl #!/usr/bin/perl use CGI::Carp qw( fatalsToBrowser ); print "Content-type: text/html\n\n"; $A = system("pwd"); $A = `pwd`; print "$A\n"; ^^actually that works/breaks if that makes any sense.. i get the working directory twice but when... (5 Replies)
Discussion started by: phpfreak
5 Replies

10. Shell Programming and Scripting

shell script is not working..

Dear all, I am writing simple shell script. #/bin/bash ORACLE_HOME=/home/app/oracle/product/9.2.0 export ORACLE_HOME export ORACLE_SID=DATX $ORACLE_HOME/bin/sqlplus -s datadmin/password <<EOF execute testproc; exit; EOF ~ ~ In the above shell script, the oracle instance name is... (2 Replies)
Discussion started by: govindts
2 Replies
Login or Register to Ask a Question

Featured Tech Videos