AI智能
改变未来

Shell基于case分支编写脚本

本案例要求编写test.sh脚本,相关要求如下:
• 能使用redhat、fedora控制参数
• 控制参数通过位置变量$1传入
• 当用户输入redhat参数,脚本返回fedora
• 当用户输入fedora参数,脚本返回redhat
• 当用户输入其他参数,则提示错误信息

case分支属于匹配执行的方式,它针对指定的变量预先设置一个可能的取值,判断该变量的实际取值是否与预设的某一个值相匹配,如果匹配上了,就执行相应的一组操作,如果没有任何值能够匹配,就执行预先设置的默认操作。
case分支的语法结构如下所示:

1.	case  变量  in2.	模式1)3.	    命令序列1 ;;4.	模式2)5.	    命令序列2 ;;6.	    .. ..7.	*)8.	    默认命令序列9.	esac

步骤一:编写脚本文件
脚本编写参考如下:

1.	[root@dyy ~]# vim test.sh2.	#!/bin/bash3.	case $1 in4.	redhat)5.	        echo \"fedora\";;6.	fedora)7.	        echo \"redhat\";;8.	    *)                                              //默认输出脚本用法9.	    echo \"用法: $0 {redhat|fedora}\"10.	esac11.12.	[root@dyy ~]# chmod +x test.sh

步骤二:验证、测试脚本
未提供参数,或提供的参数无法识别时,提示正确用法:

1.	[root@dyy ~]# ./test.sh

用法: ./test.sh {redhat|fedora}
确认脚本可以响应redhat控制参数:

1.	[root@dyy ~]# ./test.sh redhat2.	fedora

确认脚本可以响应fedora控制参数:

1.	[root@dyy ~]# ./test.sh fedora2.	redhat
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Shell基于case分支编写脚本