13,420
edits
Changes
→INVESTIGATION 3: USING CONTROL FLOW STATEMENTS IN SHELL SCRIPTS
# Issue the following linux command to test a condition involving numbers:<br><span style="color:blue;font-weight:bold;font-family:courier;">test $number1 > $number2</span><br><br>
# Issue a linux command to display the value of '''$?'''. '''NOTE:''' You will notice that something is '''wrong'''.<br>The exit status '''$?''' shows a zero (TRUE) value, but the number 5 is definitely NOT greater than 10.<br>The problem is that the symbols '''<''' and '''>''' are interpreted as REDIRECTION symbols!<br><br>
# To prove this, issue the following linux command :<br><span style="color:blue;font-weight:bold;font-family:courier;">ls 5</span><br><br>You should notice a file called "'''5'''". The incorrectly issued '''test''' command used redirect to create an empty file instead,<br> which indeed succeeded just giving a TRUE value!<br><br>To prevent these incorrectly issued testing for number comparison, you can use the following options instead:<br>'''-lt''' (<), '''-le''' (<&equals#61;), '''-gt''' (>), '''-ge''' (>&equals#61;) (>=), '''-eq''' (&equals#61;=), '''-ne''' (!&equals#61;)<br><br>
# x