Help with if-then; variables.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with if-then; variables.
# 8  
Old 08-18-2011
Ok, going back to your original post I think I see at least a part of the problem.

Try this:

Code:
export JAVA_HOME=/hosting/products/WebSphereU01/java
result=`/hosting/ogsa/ogsa-6.1.0.5/ObjectGrid/bin/xsadmin.sh -p 26572 -bp 26570 -ch nc3sz2ecmus02 -containers | awk '
   /Total known containers/ { sum += $NF; next}
   /Total known hosts/ { sum += $NF; next; }
   END {
      printf( "%d\n", sum > 161 && sum < 164 ? 1 : 0 );
   }' `

echo $result          # the 1 or 0 should be printed to the tty

I was confused by an earlier comment that I thought indicated the output was to be assigned to JAVA_HOME, but I now see that it needs to be in the environment in order to execute xsadmin.sh.
This User Gave Thanks to agama For This Post:
# 9  
Old 08-18-2011
Quote:
Originally Posted by agama
Ok, going back to your original post I think I see at least a part of the problem.

Try this:

Code:
export JAVA_HOME=/hosting/products/WebSphereU01/java
result=`/hosting/ogsa/ogsa-6.1.0.5/ObjectGrid/bin/xsadmin.sh -p 26572 -bp 26570 -ch nc3sz2ecmus02 -containers | awk '
   /Total known containers/ { sum += $NF; next}
   /Total known hosts/ { sum += $NF; next; }
   END {
      printf( "%d\n", sum > 161 && sum < 164 ? 1 : 0 );
   }' `
 
echo $result          # the 1 or 0 should be printed to the tty

I was confused by an earlier comment that I thought indicated the output was to be assigned to JAVA_HOME, but I now see that it needs to be in the environment in order to execute xsadmin.sh.
I think we may be getting there. I ran the script and this was the result. Which is correct as I am looking for either "0" and "1". I'm gonna run this some more..Thanks Smilie

$ ./hst1
0

---------- Post updated at 01:04 PM ---------- Previous update was at 12:08 AM ----------

Perhaps I am missing a syntax and I copied it exactly the way you had it. It seems to return the "0" even if I plug in the correct numbers. It should return a "1". For example; it returned a "0" even though the output of the data is:

Total known containers = 40
Total known hosts = 8

So if I plug in say
41 and 47, It still returns a "0". In this case it should have returned a "1".
END { printf( "%d\n", sum > 41 && sum < 47 ? 1 : 0 ); }' `

---------- Post updated at 01:39 PM ---------- Previous update was at 01:04 PM ----------

Actually this is what I need to simplify, the criteria has changed a little:

135 and/or 136 = 0
Anything else = 1
# 10  
Old 08-18-2011
Plugging in the values you did (41 and 47) should have caused it to generate a 0 because the sum was 48. Turns out I read your initial requirement wrong and thought if the sum was 162/163 it should generate a 1; you had used "other than" which I seem not to have noticed. All it would have taken was swapping the 0 and 1 in the statement.


Regardless, given your new criteria, this should do it. If it is either 135 or 136 then it should print 0, else 1.
Code:
     
 printf( "%d\n", sum == 135 || sum == 136 ? 0 : 1 );

Sorry for the confusion.
This User Gave Thanks to agama For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to pass variables into anothother variables?

Below are three variables, which I want to pass into variable RESULT1 username1=userid poihostname1=dellsys.com port1=8080 How can I pass these variables into below code... RESULT1=$((ssh -n username1@poihostname1 time /usr/sfw/bin/wget --user=sam --password=123 -O /dev/null -q... (4 Replies)
Discussion started by: manohar2013
4 Replies

2. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies

3. Shell Programming and Scripting

BASH arrays and variables of variables in C++

Sometimes it is handy to protect long scripts in C++. The following syntax works fine for simple commands: #define SHELLSCRIPT1 "\ #/bin/bash \n\ echo \"hello\" \n\ " int main () { cout <<system(SHELLSCRIPT1); return 0; } Unfortunately for there are problems for: 1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies

4. Shell Programming and Scripting

Running a script with multiple variables like 25 variables.

Hi All, i have a requirement where i have to run a script with at least 25 arguements and position of arguements can also change. the unapropriate way is like below. can we achieve this in more good and precise way?? #!/bin/ksh ##script is sample.ksh age=$1 gender=$2 class=$3 . . .... (3 Replies)
Discussion started by: Lakshman_Gupta
3 Replies

5. Shell Programming and Scripting

Variables

I need to define a variable of variable. I'll try to explain it. I've a list: LIST="aaa bbb ccc"I need to do something like: for word in LIST ;do res_$word=`ls $word` done This doesn't work. Any idea? Thanks (3 Replies)
Discussion started by: kekaes
3 Replies

6. Shell Programming and Scripting

Using cd on Variables

I can't for the love of me figure out how to work with double quotes and single quotes in variables in bash scripts. For instance, I added the following line to my .bash_aliases file: WINDOWS="'/host/Documents and Settings/Solar Zenith/My Documents'"; I want this so that I can go straight to 'My... (2 Replies)
Discussion started by: solar zenith
2 Replies

7. Programming

How to convert byteArray variables to HexaString variables for Linux?

Hello everybody, I am having problem in converting byte array variables to Hexa String variables for Linux. I have done, converting byte array variables to Hexa String variables for Windows but same function doesn't work for linux. Is there any difference in OS ? The code for Windows is given... (2 Replies)
Discussion started by: ritesh_163
2 Replies

8. Shell Programming and Scripting

naming variables with variables

Hello, FIRST QUESTION: I am writing a script in which a query is taken at the beginning of the script to be later used at the end. In the query, variables are generated from a loop, and I would like to assign the variable NAME (not value) with an appended 1, 2, 3, 4.....n. The number of... (2 Replies)
Discussion started by: Allasso
2 Replies

9. Shell Programming and Scripting

non-variables with $

I am writing a csh script and I need to echo a word that starts with $ and is not a variable. How do I do that? (3 Replies)
Discussion started by: oprestol
3 Replies

10. UNIX for Dummies Questions & Answers

Using Variables to Set Other Variables

I have a script that I'm trying to shorten (below) by removing repetitive code. if ] then commodity_ndm_done=Y fi if ] then customer_ndm_done=Y fi if ] then department_ndm_done=Y fi if ] then division_ndm_done=Y fi (3 Replies)
Discussion started by: superdelic
3 Replies
Login or Register to Ask a Question