今天闲着无事分享个我之前写的一个交互式提示的shell脚本,虽然很简单,但是我感觉挺实用的。比如我们现在生产环境批量更新代码是通过脚本控制的,脚本的参数很多,有时候脑袋发蒙的时候就容易执行错,这样加个交互式提示可以给自己一个执行前缓冲再确认的的时间。
脚本如下:
#!/bin/bash #author: zywang #date: 2013-08-28 #version: 1.1 #function: 交互式输入后,执行的不同结果 ######function define if read -t 5 -p "Warnning: 执行此动作会将更改同步到生产服务器,确定要这么做?[y|n] :" yn then if [[ $yn == [Yy] ]];then echo -e "\e[0;32;1m===此处嵌套你想要执行的动作===\e[0m" elif [[ $yn == [Nn] ]];then echo -e "\e[0;31;1mExit ...\e[0m" else [[ $yn != [YyNn] ]] echo -e "\e[0;33;1mPlease check what you input !\e[0m" fi else echo " " echo -e "\e[0;33;1mTimeOut ...\e[0m" fi
我这里将脚本命名为c.sh
如将此段内容嵌套在你要执行的动作前面可以很好提醒
如果输入"y" 确认后继续执行你定义的动作
如果发现执行错了可以及时输入"n" 退出执行
如果在限定时间内没有输入那么脚本将会作出超时退出处理
如果在输入的时候不小心按错键也会提示检查输入内容
PS:只是一个简单的小功能,大牛们不喜勿喷!O(∩_∩)O哈哈~
转载于:https://blog.51cto.com/redface/1330337