Echo not displaying variable in If-Else condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Echo not displaying variable in If-Else condition
# 1  
Old 02-22-2013
Echo not displaying variable in If-Else condition

Code:
 
if [ "${x_oug}" -ne 0 ]
then
echo "Entry Valid                  :  ${x_oug}"
else
echo "Entry Invalid                  : " 0
fi

In the above code the 3rd line is not working... it does not print anything

I tried following as well .. but no luck!

Code:
echo "Entry Valid                   :   ${x_oug}"
echo "Entry Valid                   :   " ${x_oug}
echo "Entry Valid                   :   $x_oug
echo "Entry Valid                   : " "${x_oug}"

However, if I put a constant like following it works correctly

Code:
echo "Entry valid                  : 5 "

In fact I am forced to use if else as echo not prinitng the variable when it has 0 value

Please help me on this

Thanks and Regards
Chetanz
# 2  
Old 02-22-2013
How are you setting x_oug?
# 3  
Old 02-22-2013
What's the value of x_oug? How do you assign it? Did you run the script with the xtrace option set?
# 4  
Old 02-22-2013
Thanks for quick replies

I am retriving it from a file which is in fact output of vmstat... eliminating header, awking a particular column values and then getting max of that to set x_oug
Code:
x_oug=`cat /u01/zopepx/vmstat1.txt|grep -v kthr|grep -v '-'|grep -v r|awk '{print x7}'|grep -Ev '(#.*$)|(^$)'|grep -v System|awk '{if($1>mx)mx=$1;}END{print mx}'`

Regards
Chetanz
# 5  
Old 02-22-2013
You know you can make THAT statement way more legible and efficient?

Pls post output of echo "$x_oug"
# 6  
Old 02-22-2013
Hello

Output remains as following i.d. NULL

Code:
Entry valid                  :

Regards
Chetanz
# 7  
Old 02-22-2013
Quote:
Originally Posted by Chetanz
Thanks for quick replies

I am retriving it from a file which is in fact output of vmstat... eliminating header, awking a particular column values and then getting max of that to set x_oug
Code:
x_oug=`cat /u01/zopepx/vmstat1.txt|grep -v kthr|grep -v '-'|grep -v r|awk '{print x7}'|grep -Ev '(#.*$)|(^$)'|grep -v System|awk '{if($1>mx)mx=$1;}END{print mx}'`

Regards
Chetanz
I have no idea what you thought you should get out of this, but the awk in the middle of this pipeline (awk '{print x7}') prints an empty line for every line it reads. The two greps that follow that are no-ops, and the awk after that converts one or more empty lines into a single empty line. The ksh test -eq operator is intended to compare two numeric values. Since an empty string is not a numeric value, I'm not sure the results of the comparison are defined, but I expect that ksh will say that [ "" -eq 0 ] evaluates to false rather than giving a syntax error.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Variable not displaying in subject line of mailx email

Hi Newbie here with first post. I've got a shell script (ksh) whereby I run a SQL*Plus script and output the results to a file. I then check the output file in an if statement that looks like this: if ]; then export GAPNUM=`awk '{print $4}' $OUTFILE` if ] then mailx -s... (10 Replies)
Discussion started by: ltzwoman
10 Replies

2. UNIX for Dummies Questions & Answers

Displaying contents with Echo

Hello, How can i display the below ... say echo "Start \n Analyse \n ~/temp/input.txt \nStop" Now my output should look like below Start Analyse This is from input file Stop I tried echo "Start \n Analyse \n $var \nStop where $var = "~/temp/input.txt".. It did not work out..... (3 Replies)
Discussion started by: sathyaonnuix
3 Replies

3. Shell Programming and Scripting

echo the NAME of the variable

#!/bin/bash varA="AAA1" varB="BBB2" varC="CCC3" for proccx in $varA $varB $varC do echo "the current name is ????? , the value is $proccx" echo " " done #end of script I want the output to look something like this: the current name is varA, the value is AAA1 the current name is... (5 Replies)
Discussion started by: ajp7701
5 Replies

4. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

5. Shell Programming and Scripting

Variable not displaying while running in cron job

hi , While running my script individually the variable is working fine. But when i am running the same script from cron job it's displaying nothing. Can any one comment on this. (4 Replies)
Discussion started by: josephroyal
4 Replies

6. Shell Programming and Scripting

read variable after echo

Hi, i want to create an user-friendly script where you are asked for two numbers. i would like that these two number to be separated with "--" for example, but i can't figure out how to do this. for example read -p "Insert lowest and highest value: " min ; echo -n "-- "; read max so... (3 Replies)
Discussion started by: ezitoc
3 Replies

7. Shell Programming and Scripting

multiple echo statements in if condition

Hi , I have a peculiar problem. i have an if block like this if ; then echo " todays date is " ${date} >> log_file echo " file count is " $ count >> log_file mv filename1 filename 2 else echo "no files available ">> log_file fi the echo statement "no files available " is not... (2 Replies)
Discussion started by: wizardofoz
2 Replies

8. Shell Programming and Scripting

assigning variable value using echo

I am modifying an existing script and it has the following line: export SomeEnvVar=`echo ${SomeLocalVar}` Why wouldn't it just read: export SomeEnvVar=${SomeLocalVar} Is there some reason to use echo instead of a direct assignment? :confused: (2 Replies)
Discussion started by: shellburger
2 Replies

9. Shell Programming and Scripting

echo variable problem

hi I have say five variable. I would ask the user which one they want me to print and then print accordingly. TEST_1='10.2.3.4' TEST_2='11.2.3.5' TEST_3='12.2.3.5' TEST_4='13.2.3.5' TEST_5='14.2.3.5' print_var() { echo "Accessing var num $1" echo TEST$1 #??? But How do... (6 Replies)
Discussion started by: sabina
6 Replies

10. UNIX for Dummies Questions & Answers

Display from a variable using echo.

I have a variable that is outputting a lot of space. here has been 45 lines returned ... how can I remove the spaces between the "been and the 45" CODE: fil_len=`wc -l < coshb.txt` if ; then cat coshb.txt | more echo " " echo "There has been ${fil_len} lines... (4 Replies)
Discussion started by: jagannatha
4 Replies
Login or Register to Ask a Question