概述

在利用 git 进行提交时需要使用 githook 执行一些提前的检查和测试工作。同时管理项目的安装等工作命令。

执行命令并获取值

反引号内的值就是可以执行的, 取值处理即可

  1. GO_VERSION=`${GO} version | grep -Eo "\bgo(${GO_SUPPORTED_VERSIONS})\.[0-9]+\b"`

一个if判断的错误情况

参考 https://www.runoob.com/linux/linux-shell-test.html 其中的字符串测试

  1. if [ "$GO_VERSION" = ""]; then
  2. error "不支持您的 go 版本, 请安装下述版本: '${GO_SUPPORTED_VERSIONS}'"
  3. fi

错误信息如下:

  1. ./scripts/shell/golang.sh: line 9: [: go1.16.7: unary operator expected

修改后:

  1. if test -z ${GO_VERSION}
  2. then
  3. error "不支持您的 go 版本, 请安装下述版本: '${GO_SUPPORTED_VERSIONS}'"
  4. fi

\R错误

运行时报$’\r’: command not found错误, 是文件的换行使用的 windows 模式, 换成 lf 即可