壳的流程控制介绍

  介绍

这篇文章将为大家详细讲解有关壳的流程控制介绍,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法):

& lt; PHP ?   if (收取($ _GET [“q"])), {   ,搜索(q);   }   else  {   ,//不做任何事情   }

在sh/bash里可不能这么写,如果其他分支没有语句执行,就不要写这个。

<强>如果其他

<强>如果

如果语句语法格式:

if 条件   然后   ,command1    ,command2   ,……   ,commandN    fi

写成一行(适用于终端命令提示符):

if [,美元(ps  -ef  |, grep  -c “ssh"), -gt  1,];, then  echo “true";, fi

末尾的fi就是如果倒过来拼写,后面还会遇到类似的。

<强>如果其他

如果其他语法格式:

if 条件   然后   ,command1    ,command2   ,……   ,commandN   其他的   ,命令   fi

<强>如果其他else if

如果其他else if语法格式:

if  condition1   然后   ,command1   elif  condition2    then    ,command2   其他的   ,commandN   fi

以下实例判断两个变量是否相等:

=10   b=20   if  [, a 美元;==,b 美元;】   然后   ,echo “a 等于,b"   elif [,美元a  -gt  b 美元;】   然后   ,echo “a 大于,b"   elif [,美元a  -lt  b 美元;】   然后   ,echo “a 小于,b"   其他的   ,echo “没有符合的条件,   fi

输出结果:

小于b

如果其他语句经常与测试命令结合使用,如下所示:

num1=$ (2 * 3)   num2=$ [1 + 5]   if  test 美元[num1], -eq  [num2]美元   然后   ,echo  & # 39;两个数字相等! & # 39;   其他的   ,echo  & # 39;两个数字不相等! & # 39;   fi

输出结果:

两个数字相等!

<强>的循环

与其他编程语言类似,壳牌支持,循环。

循环一般格式为:

for  var 拷贝item1  item2 ……itemN   做   ,command1   ,command2   ,……   ,commandN   做

写成一行:

for  var 拷贝item1  item2 ……, itemN;, do  command1;, command2…,做;

当变量值在列表里,为循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的壳命令和语句在列表可以包含替换,字符串和文件名。

在列表是可选的,如果不用它,对循环使用命令行的位置参数。

例如,顺序输出当前列表中的数字:

for  loop 拷贝1,2,3,4,5   做   ,echo “;从而,value 是:,loop"美元;   做

输出结果:

的值是:1
的值是:2
的值是:3
的值是:4
的值是:5

顺序输出字符串中的字符:

for  str 拷贝& # 39;却;能够is  a 字符串# 39;   做   echo  str美元   做

输出结果:

这是一个字符串

<>强而语句

而循环用于不断执行一系列命令,也用于从输入文件中读取数据,命令通常为测试条件。其格式为:

while 条件   做   ,命令   

以完成下是一个基本的同时循环,测试条件是:如果int小于等于5,那么条件返回真相关性从0开始,每次循环处理时,int加1。运行上述脚本,返回数字1到5,然后终止。

# !/bin/bash   int=1   而((,int<美元;=5,))   做   echo  $ int   int, let “+ +”;   做

运行脚本,输出:

1
2
3
4 5

以上实例使用了Bash让命令,它用于执行一个或多个表达式,变量计算中不需要加上美元来表示变量

而循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量电影,按& lt; Ctrl-D>结束循环。

echo  & # 39;按下,& lt; Ctrl-D>,退出& # 39;   echo  -n  & # 39;输入你最喜欢的网站名:,& # 39;   while  read 电影   做   ,echo “是的! FILM 美元;是一个好网站,   完成了

壳的流程控制介绍