我是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
答案 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