Using arrays in bash using strings to bash built-in true


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using arrays in bash using strings to bash built-in true
# 36  
Old 03-29-2012
Does success return 1 and failure 0 with these when using the if statement?
# 37  
Old 03-29-2012
Quote:
Originally Posted by kristinu
Code:
hasArgument=1
 if [ $hasArgument == 1 ]; then
   ...
 fi

Yes you would need to check like this, but you would need to use a single =-sign for proper syntax. If you put double quotes around the variable, then you do not need to initialize it first:

Code:
if [ "$hasArgument" = 1 ]; then
   ...
fi

# 38  
Old 03-30-2012
Quote:
Originally Posted by kristinu
Does success return 1 and failure 0 with these when using the if statement?
Like we've been telling you all along, shell does not have boolean. Even program return codes aren't boolean.

They return zero for success, and nonzero for anything else. There's lots of different possible return codes -- often 255 -- so that they can return different codes for different errors. true returns 0, and false returns 1, so that it can be used properly in the shell.

Code:
true && echo "this will print"
false && echo "but this won't"
true || echo "neither will this"
false || echo "but this will"

You could consider true and false shortcuts to turn the strings true and false into usable return codes, I suppose.
# 39  
Old 03-30-2012
Apologies if it is taking some time for me to understand.
# 40  
Old 03-30-2012
Don't apologize for trying to learn Smilie

I suspect you're getting ahead of yourself a bit though -- trying to tackle big problems in a language before you know enough about the tools or the result. It's still possible to do what you want improvising things you need out of the bits you know but, like a potter without a wheel, the results may look very strange.
# 41  
Old 03-30-2012
Yes, I am trying to get the scripts working and then improve them as I get to know more. I need to get some results quick but need some scripts to do what I need.

---------- Post updated at 06:59 PM ---------- Previous update was at 12:11 PM ----------

Quote:
Originally Posted by Corona688
Like we've been telling you all along, shell does not have boolean. Even program return codes aren't boolean.

They return zero for success, and nonzero for anything else. There's lots of different possible return codes -- often 255 -- so that they can return different codes for different errors. true returns 0, and false returns 1, so that it can be used properly in the shell.

Code:
true && echo "this will print"
false && echo "but this won't"
true || echo "neither will this"
false || echo "but this will"

You could consider true and false shortcuts to turn the strings true and false into usable return codes, I suppose.

This worked
Code:
hello=true
val=1
echo "if $hello || [ $val -eq 3 ]; then"
if $hello || [ $val -eq 3 ]; then
  echo "HELLO"
fi

# 42  
Old 03-30-2012
Exactly, you're getting the idea. You don't usually see true/false used that way, but there's nothing to stop you.

It's still not boolean of course... just looks like it.

Your variable can be true, false, cat, rm, sleep, ping, reboot, and any other command you could possibly cram in that variable. Or an entire universe of invalid commands. If any junk gets in your "booleans" by accident, you'll get bizzare "file not found" errors -- or worse, it might run something you shouldn't have.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bc,getopt and arrays in bash

trying to sum elements in an array using bc and getopt,i have a file with names and thier vaules if the names appears 3 times i should multiply its value with 3 then find the sum of all the elements together cat foo.txt max 2.3 henry 3 fransis 4.5 max 2.3 henry 3 max 2.3 it should... (1 Reply)
Discussion started by: elginmulizwa
1 Replies

2. Shell Programming and Scripting

How to make arrays from strings in bash?

Hey all, This is my first post, and I am relatively new to linux/unix scripts. I am writing a bash script in which I am trying to extract one line from another file and parse specific words from the line into an array. So for example, I have a file called SortScans in which the first 5 lines... (9 Replies)
Discussion started by: camocazi
9 Replies

3. Shell Programming and Scripting

bash built-in

Is there any command or VARIABLE in unix to display only bash builtin commands?. Some days back I worked on that, but now I do not remember. Can anyone please reply for this?... (4 Replies)
Discussion started by: gwgreen1
4 Replies

4. Shell Programming and Scripting

Yet another bash arrays question

Hi all, I have a file that contains many lines, but only a few are of my interest, so I'm cutting it with grep + awk, and the result I get is for example line 0 line 1 line 2 line 3 line n Now I want to store each line in an array "cell" so I can use it later calling to ${array},... (2 Replies)
Discussion started by: TuxSax
2 Replies

5. Shell Programming and Scripting

subtraction in bash arrays

hi i am using bash shell to perform some subraction. here is what i have: i have a while loop and am using i as a counter. diff= `expr ${ARRAY1} - ${ARRAY2}` for example array1 has -0.7145 and array2 has -0.7041. when i try the above command, i get expr: non-numeric argument. any... (6 Replies)
Discussion started by: npatwardhan
6 Replies

6. Shell Programming and Scripting

arrays in bash

hi guys, i have the following script and when i run it i get blank lines on the screen.. i am trying to display the contents of array var.. #!/usr/bin/bash var=`awk 'NR>20&&NR<31' try.sum | awk '{print $4}'` echo "${var}" (1 Reply)
Discussion started by: npatwardhan
1 Replies

7. Shell Programming and Scripting

Searching Bash Arrays

Hi, I am writing a bash shell script. I would like to execute a statement only if an array contains a specific value. For example: array=(1 3 5 7) I would like to execute the statement only if the value 3 is present in ${array}. Thanks for any help, Mike (1 Reply)
Discussion started by: msb65
1 Replies

8. Shell Programming and Scripting

Arrays in bash.need help

:confused: Is it possible to delete array elements dynamically.For instance,consider an array( a b c d ) ,now can i delete array (the third element 'c').So that the array becomes array(a b d).. Thanks in advance!! (1 Reply)
Discussion started by: tj23
1 Replies

9. Shell Programming and Scripting

comparing two arrays or strings in bash

Hi there, im having issue with comparing two variables, in a bash script. im trying to do the following: - get a word from user 1 - split the word into array - get a character from user2 trying to compare the character entered by user 2 with every single character in the array... (2 Replies)
Discussion started by: new2Linux
2 Replies

10. Shell Programming and Scripting

Bash: Exiting while true loop when terminal is not the focus window

I am running an Ubuntu Gutsy laptop with Advanced Compiz fusion options enabled. I am using xdotool to simulate keyboard input in order to rotate through multiple desktops. I am looking for a way to kill a while true loop when the Enter key (or Control+C if it is easier) is pushed when the... (2 Replies)
Discussion started by: acclaypool
2 Replies
Login or Register to Ask a Question