linux自动交互式脚本,交互式自动化脚本模板

作为一个运维人员,免不了会做很多自动化的脚本,服务器安装的自动化,服务环境搭建自动化,服务启动关闭自动化,数据备份恢复自动化等等。 有部分是直接放置在crontab里面按照时间来定运行周期的,还有一部分是手动操作的,对于手动操作这部分,自认最好是交互式的,根据初期定义的功能类型,根据选择的需求完成自动化的部署和实现。 下面就是工作中用的两种比较普遍的交互式自动化脚本的大致框架。

第一种:case函数是实现的交互式

#!/usr/bin/env bash

#===============================================================================

# FILE: deploy.sh

# USAGE: ./deploy.sh

# DESCRIPTION: Interactive automated deployment script

# OPTIONS: ---

# REQUIREMENTS: ---

# NOTES: ---

# AUTHOR: Eric Wu, mesopodamia@gmail.com

# CREATED: 01/25/2014 11:44

# REVISION: ---

#===============================================================================

function example001() {

echo "example001"

}

function example002() {

echo "example002"

}

function example003() {

echo "example003"

}

echo " ----------------------------------------"

echo " "

echo "Please insert function Number:"

echo " "

echo " [1] function001 "

echo " [2] function002 "

echo " [3] function003 "

echo " "

echo " ----------------------------------------"

read Number;

case "$Number" in

1)

example001 && exit 0;

;;

2)

example002 && exit 0;

;;

3)

example003 && exit 0;

;;

*)

echo $"Usage: $0 {function001|function002|function003}"

exit 2

esac   git脚本下载地址:

https://github.com/mesopodamia/ShellScript/blob/master/deploy_case.sh

第二种:dialog函数是实现的交互式

#!/usr/bin/env bash

#===============================================================================

# FILE: deploy.sh

# USAGE: ./deploy.sh

# DESCRIPTION: Interactive automated deployment script

# OPTIONS: ---

# REQUIREMENTS: ---

# NOTES: ---

# AUTHOR: Eric Wu, mesopodamia@gmail.com

# CREATED: 01/25/2014 11:44

# REVISION: ---

#===============================================================================

command -v dialog

if [[ $? != 0 ]]; then

yum install -y dialog

fi

function example001() {

echo "example001"

}

function example002() {

echo "example002"

}

function example003() {

echo "example003"

}

if dialog --title "Auto Deploy System" --radiolist "Choose one function" 20 60 14 1 "function001" on 2 "function002" off 3 "function003" off 2>output; then

select=`cat output`

if [ $select -eq 1 ]; then

example001

elif [ $select -eq 2 ]; then

example002

elif [ $select -eq 3 ]; then

example003

else

echo "Your select is wrong!!! please try again!"

fi

fi git脚本下载地址:

https://github.com/mesopodamia/ShellScript/blob/master/deploy_dialog.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值