shell-until与while的区别

相同点

一:语法类似,循环条件都在语句后面

until:

  until expression;do
        ....
  done

while:

  while expression;do
        ....
  done

二:执行机制相同,都是先判断expression的返回值,符合条件执行;不符合条件就退出

不同点

两个语句查看返回值执行是反的,while查看expression的返回值是0执行,非0退出;unitl查看expression的返回值非0执行,0退出.例如:

  #!/bin/bash
  sum=1
  while [ "$sum" -le 3 ];
  do
    let "s=$sum**2"
    echo "$sum**2=$s"
    let "sum+=1"
  done

  #!/bin/bash
  sum=1
  until [ "$sum" -ge 3 ]
  do
    let "s=$sum**2"
    echo "$sum**2=$s"
    let "sum+=1"
  done

原文地址:https://www.cnblogs.com/hxlinux/p/12961614.html