shell中的简单正则表达式测试用于提交消息

时间:2014-08-18 15:08:19

标签: ruby regex git shell

我是Shell的新手,我需要移植一个用ruby编写的简单的commit-msg钩子,我的问题正是在正则表达式测试中,有人可以帮忙吗?

这是ruby中的代码:

#!/usr/bin/env ruby
message_file = ARGV[0]
message = File.read(message_file)

$regex = /\[([A-Z]+)-\d+\](.)*/

if !$regex.match(message)
  puts "[ERROR] Please use the following pattern: '[ABC-123] lorem ipsum'"
  exit 1
end

1 个答案:

答案 0 :(得分:1)

在sh中脚本将是

#!/bin/sh
if echo $1 | egrep -qv '\[([A-Z]+)-\d+\](.)*'; then
  echo "[ERROR] Please use the following pattern: '[ABC-123] lorem ipsum'"
  exit 1;
fi