(六)Linux的Shell编程(下)

一.Shell 流程控制

和 Java、PHP 等语言不一样,sh 的流程控制不可为空。
(1)选择语句
1)if 语句语法格式:

if condition
then
    command1 
    command2
    ...
    commandN 
fi

2)if else语法格式:

if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi

3)if else-if else 语法格式:

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

if else 的 […] 判断语句中大于使用 -gt,小于使用 -lt。
如果使用 ((…)) 作为判断语句,大于和小于可以直接使用 > 和 <。

if [ "$a" -gt "$b" ]; then
    ...
fi

if (( a > b )); then
    ...
fi

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

a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi
a 小于 b

4)多选择语句
case … esac 为多选择语句,与其他语言中的 switch … case 语句类似,是一种多分支选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case … esac 语句,esac(就是 case 反过来)作为结束标记。
可以用 case 语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。
case … esac 语法格式如下:

casein
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

case 工作方式如上所示,取值后面必须为单词 in,每一模式必须以右括号结束。取值可以为变量或常数,匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
下面的脚本提示输入 1 到 4,与每一种模式进行匹配:

echo '输入 1 到 4 之间的数字:'
echo 

相关推荐

  1. (LinuxShell编程

    2024-05-09 15:14:08       37 阅读
  2. Linuxshell编程

    2024-05-09 15:14:08       24 阅读
  3. Linux--shell编程for循环

    2024-05-09 15:14:08       62 阅读
  4. Linux SHELL脚本编程

    2024-05-09 15:14:08       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-09 15:14:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-09 15:14:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-09 15:14:08       82 阅读
  4. Python语言-面向对象

    2024-05-09 15:14:08       91 阅读

热门阅读

  1. 点击菜单改变svg图标颜色

    2024-05-09 15:14:08       35 阅读
  2. GUIDELINES FOR THE PREPARATION OF FINAL YEAR PROJECT REPORT

    2024-05-09 15:14:08       23 阅读
  3. 头歌python本月天数

    2024-05-09 15:14:08       27 阅读
  4. 数据结构(一)初识数据结构

    2024-05-09 15:14:08       27 阅读
  5. 数据结构:顺序表

    2024-05-09 15:14:08       33 阅读
  6. C#返回多个值的方法

    2024-05-09 15:14:08       29 阅读
  7. std::unique_lock详解

    2024-05-09 15:14:08       33 阅读
  8. nodejs postgresql

    2024-05-09 15:14:08       31 阅读