首页
登录 | 注册

step by step shell

  1. return_yes=0
  2. return_reload=1
  3. return_no=2
  4. return_skip=3

  5. do_promote ( ) {
  6.   command=${1}
  7.   promote=${2:-$1}
  8.   echo ""
  9.   echo "${promote}: [y]es or [s]kip? or [r]epeat last step?" && echo "$command" && read x
  10.   case "${x}" in
  11.   y|Y)
  12.     eval "$command"
  13.     return ${return_yes}
  14.     ;;
  15.   r|R)
  16. #do nothing bu need to decrease "i" by 2 in the circle
  17.     return ${return_reload}
  18.     ;;
  19.   s|S)
  20. #nothing to do
  21.     return ${return_skip}
  22.     ;;
  23.   *)
  24.     return ${return_no}
  25.     ;;
  26.   esac
  27. }

  28.     echo ""
  29.     echo "major version: ${major_version}"
  30.     echo "svn revision: ${revision}"
  31.     echo -e "respond y as \"yes\"; s as \"skip\"; and r as \"reload\", any other inpute will lead to exit\n"

  32. do_step0 ( ) {
  33.     do_promote "date" "** Ready to go upgrading ads"
  34.     return $?
  35. }

  36. do_step1 ( ) {
  37.     do_promote "sudo -u eng /opt/freewheel/scripts/rsync_build.sh ads ${rsync_version}" "1.Syncing the builds from build server"
  38.     return $?
  39. }

  40. for ((i=0;i<10;i++)) do
  41.     do_step${i}
  42.     return_code=$?
  43.     [ $return_code -eq $return_no ] && exit $return_no
  44.     [ $return_code -eq $return_reload ] && i=$(($i-2))
  45. done

相关文章

  • SAP CRM WebClient UI和Fiori UI混搭并存
    最后创建好的report长这个样子: 这些report肉眼上看去显示在WebClient UI里,而WebClient UI似乎不能这么灵活的显示这些风格特异的图标.这是怎么实现的呢? 要获取更多Jerry的原创技术文章,请关注公众号&qu ...
  • wsock.tcp.client = TCP客户端支持库 wsock.tcp.client(.(缓冲区大小) = 创建TCP客户端,\n缓冲区大小为可选参数,默认为1KB ?.tcp.client = !tcp_client. tcp_cl ...
  • 使用Java connector消费ABAP系统的函数
    package jco; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; import com.sap.conn.jco. ...
  • Neo4j入门点滴(五):Windows Shell for Cypher
      尽管Neo4j提供图形化的web操作界面既直观又简单,但对于coder而言,有很多方面是web给不了的,比如从执行时间上看优化效果,以及多句执行等.所以,更高级的Neo4j开发者还是需要在Shell中工作.  在本博文中,将介绍Wind ...
  • 老薛带你学习Linux Shell脚本编程
    参考案例: 需求:编写一个Centos6.7操作系统初始化配置的脚本 第一步:需求拆分 1)基础环境是Centos6.7 2)系统初始化配置,整理经常用到的初始化配置操作    #关闭selinux    #关闭防火墙    #改机器名   ...
  • 案例:通过shell脚本实现mysql数据备份与清理
    ubuntu 上shell脚本实现数据库的定时备份和删除一个月以前的数据 curdate=`date +%Y-%m-%d_%H-%M` backupdir="/opt/backup/db" databasename=&q ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
京ICP备10005923号