3.3.2 使用双方括号

         双方括号命令为字符串比较高级功能。双方括号命令的格式是:[[ expression ]]。双方括号包围的expression使用在test命令中使用的标准字符串比较。但是它提供了test命令没有的另一功能,即模式匹配。

         在模式匹配中,可以定义与字符串值相匹配的正则表达式。


#!/bin/bash
#使用模式匹配
if [[ $USER==ew* ]];then
echo "当前用户$USER"
if [[ Demo1==./Dem* ]];then
date;which
Demo1
fi
else
echo "不存在开头为ew的命令!"
fi

第3章 shell结构化命令------------( 双方括号命令及操作实例、case命令)_shell使用双方括号     


3.3.3 case命令

         case命令以列表导向格式检查单个变量的多个值:

          第3章 shell结构化命令------------( 双方括号命令及操作实例、case命令)_shell双方括号的模式匹配_02

         case命令将指定的变量与不同的模式进行比较。如果变量与模式匹配,shell执行为该模式指定的命令。可以在一行中列出多个模式,使用竖条(|)操作符将每个模式分开。星号(*)是与任何列出的模式都不匹配的所有值。

         case命令操作实例如下所示:         


#!/bin/bash
#case使用实例
da=Demo3
case $da in
Demo1 | Demo2) Demo1;;
Demo3) Demo3;;
Demo4) Demo4;;
*) ls -al -F;;
esac

第3章 shell结构化命令------------( 双方括号命令及操作实例、case命令)_shell双方括号的模式匹配_03