Linux的Shell编程Shell程序设计流程控制是什么?

1个月前 (10-14 12:42)阅读3回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值69930
  • 级别管理员
  • 主题13986
  • 回复0
楼主

  和其他高级法式设想语言一样,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
回帖

Linux的Shell编程Shell程序设计流程控制是什么? 期待您的回复!

取消