linux shell program summary
from:Sep 23 2016
mathematical operation:

floating number,bc calculator:

we can also use bc in shell scripts:

if - then - else
number comparison:
n1 -eq n2
n1 -ge n2
n1 -gt n2
n1 -le n2
n1 -lt n2
n1 -ne n2

if - then - elif, notice that the second elif won't be executed, though it's also right.

strings comarison:
str1 = str2
str1 != str2
str1 < str2
str1 /> str2
-n str1
-z str1

using file comparisons:
-d file checks if file exists and is a dictory

-e file checks if file exists

-f file checks if file exists and is a file

-r file checks if file exists and is readable
-s file checks if file exists and is not empty
-w file checks if file exists and is writable
-x file checks if file exists and is executable
-o file checks if file exists and is owned by the current user
-G file checks if file exists and the default group is the same as the current user
file1 -nt file2 checks if file1 is newer than file2
file1 -ot file2 checks if file1 is older than file2
considering compound testing

working with advanced if-then features
((expression))
var++
var--
++var
--var
! logical negation
~ bitwise negation
** exponentiation
<<
>>
&
|
&&
||

notice the '++' of the screenshot.
it's writen of var++ not $var++
using double brackets
[[ expression ]]
the double bracket command provides advanced features for string comparisons---pattern matching.

Considering the case command:
case variable in
pattern1 | pattern2) command1;;
pattern3) command2;;
*) default commands;;
esac

The for command:

The while command:

The until command:

浙公网安备 33010602011771号