Linux的Shell编程Shell程序设计流程控制是什么?
和其他高级法式设想语言一样,Shell供给了用来控造法式施行流程的号令,包罗前提分收和轮回构造,用户能够用那些号令创建十分冗杂的法式。
与传统语言差别的是,Shell用于指定前提值的不是布尔运算式,而是号令和字串。
1.测试号令
test号令用于查抄某个前提能否成立,它能够停止数值、字符和文件3个方面的测试,其测试符和响应的功用别离如下。
(1)数值测试:
-eq 等于则为实。
-ne 不等于则为实。
-gt 大于则为实。
-ge 大于等于则为实。
-lt 小于则为实。
-le 小于等于则为实。
(2)字串测试:
= 等于则为实。
!= 不相等则为实。
-z字串 字串长度伪则为实。
-n字串 字串长度不伪则为实。
(3)文件测试:
-e文件名 若是文件存在则为实。
-r文件名 若是文件存在且可读则为实。
-w文件名 若是文件存在且可写则为实。
-x文件名 若是文件存在且可施行则为实。
-s文件名 若是文件存在且至少有一个字符则为实。
-d文件名 若是文件存在且为目次则为实。
-f文件名 若是文件存在且为通俗文件则为实。
-c文件名 若是文件存在且为字符型特殊文件则为实。
-b文件名 若是文件存在且为块特殊文件则为实。
别的,Linux还供给了与(!)、或(-o)、非(-a)三个逻辑操做符,用于将测试前提毗连起来,其优先挨次为:!更高,-a次之,-o更低。
同时,bash也能完成简单的算术运算,格局如下:
$[expression]
例如:
var1=2
var2=$[var1*10+1]
则var2的值为21。
0