shell while循环

shell脚本有很多支持循环结构的命令,如while、for、until等。我们本节先讲下while循环的使用:

while [条件判断]
do
    命令1
    命令2
done

在上面的教程中,我们编写了一个脚本程序,用来比较输入的两个字符串大小,脚本运行一次就退出了,而使用while循环,我们可以让脚本一直运行,不断接受用户输入的字符串进行比较,直到用户输入的字符串为空才退出循环:

#!/bin/bash

echo input string1:
read str1
echo input string2:
read str2(()())

while [[ -n $str1 && -n $str2 ]]
do
    if test $str1 == $str2
    then
        echo 'str1=str2'
    elif test $str1 \> $str2
    then
        echo 'str1>str2'
    else
        echo 'str1<str2'
    fi

    echo input string1:
    read str1
    echo input string2:
    read str2

done

分别输入不同的字符串、相同的字符串、空,验证脚本的运行结果:

root@pc:/home/demo# ./hello.sh 
input string1:
a
input string2:
b
str1<str2
input string1:
b
input string2:
a
str1>str2
input string1:
a
input string2:
a
str1=str2
input string1:

input string2:

root@pc:/home/demo#
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客