参数处理(一)使用 case 语句处理命令行参数

下面是一个简单的使用示例:

#! /bin/bash

shopt -s nocasematch

case $1 in
    sql)
        echo "Running mysql backup using mysqldump tool..."
        ;;
    sync)
        echo "Running backup using rsync tool..."
        ;;
    snap)
        echo "Running snapshot backup on storage..."
        ;;
    *)

echo "Backup utility"
echo "Usage: `basename $0` {sql|sync|snap}"
echo "       sql : Run MySQL backup utility."
echo "       sync : Run Web server backup utility."
echo "       snap : Run snapshot backup utility."
;;
esac
shopt -u nocasematch

注意我们在示例中使用了 nocasematch 选项,开启此选项后,当执行 case 或者 “[[” 条件命令时,Shell 以大小写不敏感的匹配模式。

使用效果图:

使用效果

本文参考自 《Linux Shell命令行及脚本编程实例详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容