Evaluation is widely used in SHELL programing. There are
three types of evaluation:
- File attribution: evaluate if the file is a block device, existing , writable…
- String compare: if the strings are equalled.
- Value testing: if the two values are equal, greater than, less than.
Here we will talk about the evaluation in detail.
File attribution evaluation:
-b
|
(block)testing if the file is exisitng and a block device
|
-c
|
(char)testing if the file is exisitng and a char device
|
-r
|
testing if the file is exisitng and read only
|
-w
|
testing if the file is exisitng and writable
|
-x
|
testing if the file is exisitng and execuatable
|
-d
|
testing if the file is a directory
|
-f
|
testing if the file is a normal file
|
-e
|
testing if the file is existing
|
Some samples are here:
Value testing:
n1 -eq n2
|
true if n1 equals n2
|
n1 -ne n2
|
true if n1 not equals n2
|
n1 -gt n2
|
true if n1 is greater than n2
|
n1 -lt n2
|
true if n1 is less than n2
|
n1 -ge n2
|
true if n1 is greater than or equal to n2
|
Some samples are here:
String compare:
s1 = s2
|
if the two strings are identical
|
s1 != s2
|
if the two strings are not identical
|
s1
|
if the string is existing
|
Some samples are here:
Also BASH have
- [evaluation1] -a [evaluation 2] : AND connection
- [evaluation1] -o [evaluation 2] : OR connection
- ! [evaluation 2] : NOT operator.
No comments:
Post a Comment