09月25, 2017

shell脚本初探

最近在工作中用到了shell 脚本,学会了一些简单的语法。分享如下。

  1. select 的实现

    • 指定要选择的var , 用户输入
    • echo出来一些选项, 用户通过输入数字来match 对应的选项。

      实现一:

      select var in a b c ;
      do 
      break
      done
      
      echo "$var"
      

      实现二:

      # choose env or prd update
      echo "-----------------------------"
      echo "please choose environment:"
      echo "(0) development(www_v4)"
      echo "(1) production(www_v3)"
      echo "(2) exit"
      echo "-----------------------------"
      read input
      case $input in 
      0) 
      dir='www_v5' ;;
      1) 
      dir='www_v3' ;;
      2)
      exit 1 ;;
      esac
      
      1. if 判断多个条件
        # confirm env
        # 从控制台读取sure的值
        read -p "sure to continue? (Y/n) " sure
        # -z 表示为空, -n 不为空
        # 两个条件之间可直接用||相连
        # 表示只有输入Y时程序才会继续
        if [ -z "$sure" ] || [ "$sure" != "Y" ]; then
        echo 'quit'
        exit 1
        # fi表示if判断的结尾 
        fi
        
      2. 异常处理
        git checkout master-a
        # 如果"$?"为0表示没有错误
        if [ "$?" = "0" ]; then
        echo '' checkout     success"
        else 
        # 0 表示标准输入
        # 1 表示标准输出
        # 2 表示标准错误输出
        # >  和 1> 意思一样, 标准输出重定向
        # 下面的1>&2 表示标准错误输出 重定向到 错误输出,程序如果有错误,显示错误并退出(exit 1)
        echo "git checkout branch error" 1>&2
        exit 1
        fi
        

        参考文档

        1. Shell重定向

本文链接:http://fengbaiyang.cn/post/shell-01.html

-- EOF --

Comments

暂不支持评论,如有问题,请发邮件至baiyang.feng@outlook.com。 望不吝赐教~