shell编程1.4: 判断、分支与循环

1. 判断

判断语句一般放在[]中执行,注意[]里面左右需要各留一个空格:

[ $var -eq 0 ] # var == 0
[ $var -en 0 ] # var != 0

[ $var -gt 0 ] # var > 0
[ $var -ge 0 ] # var >= 0

[ $var -lt 0 ] # var < 0
[ $var -le 0 ] # var <= 0

[ $var -gt 0 -a $var -lt 1 ] # var > 0 && var < 1
[ $var -lt 0 -o $var -gt 1 ] # var < 0 || var > 1

string的比较与判断:

[[ $str1 == $str2 ]] # str1 == str2
[[ $str1 != $str2 ]] # str1 != str2

[[ $str1 > $str2 ]] # 根据字典序,判断str1 > str2
[[ $str1 < $str2 ]] # 根据字典序,判断str1 < str2

[[ -z $str1 ]] # 假如str为空则返回真
[[ -n $str1 ]] # 假如str非空则返回真

2. 分支

# if语句
if condition
then
commands
fi

#if ... else
if condition
then
  commands
elif condition
then
  commands
else
  commands
fi

注意ifelifcondition之间要有一个空格。简单的if语句也可以简写为:

[ condition ] && command  # 当condition为真时执行command
[ condition ] || command  # 当condition为假时执行command

3. 循环

for循环:

for item in %var
do 
  command
done

实例:

#! /bin/bash
data=(1,2,3,4)
echo ${data[*]}

OLD_IFS=$IFS
IFS=,
for x in ${data[*]}
do
    echo  $x
done
IFS=$OLD_IFS

上面的data声明了一个数组,${data[*]}代表取数组里面的所有元素。$IFS是一个环境变量,代表分隔符,我们的数组中分隔符是,,所以先将其置为,,等到循环执行完之后再复位


while循环:

while condition
do
commands
done

until循环:

until condition
do 
commands
done
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,763评论 0 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,670评论 0 13
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 6,066评论 2 16
  • 有人说,走过最艰苦的路,就会到达最接近理想的地方,也就能看到最美的风景。 2017年的第一天,带着对新一年的期待,...
    叶语yy阅读 1,177评论 0 1
  • 尊贵的蒙族全羊仪式 话说我们这波去辉腾锡勒采风的个个都是见过大世面的主儿,都知道来大草原不仅要看要赏要玩儿,更要喝...
    Yvonne一万阅读 2,997评论 0 0

友情链接更多精彩内容