提交消息挂钩中缺少提交消息文件

Commit message file missing in commit-msg hook

我正在尝试编写一个 commit-msg 挂钩来格式化我的提交消息以按最大列宽换行:

#!/bin/bash

format_max_column_width() {
  MAX_LINE_LENGTH_CHARS=50

  cat "" | grep -v "^Bug: |^Change-Id: |^Signed-off-by: |^CC: " > body
  cat "" | grep "^Bug: |^Change-Id: |^Signed-off-by: |^CC: " > footer
  fmt -w "$MAX_LINE_LENGTH_CHARS" body > body
  cat body > ""
  cat footer >> ""
  rm body footer
}

format_max_column_width

出于某种原因,当我提交时,出现以下错误,因为 $1 似乎是空的。

cat: '': No such file or directory
cat: '': No such file or directory
.git/hooks/commit-msg: line 9: : No such file or directory
.git/hooks/commit-msg: line 10: : No such file or directory

此外,如果我只是echo ,什么也不会打印出来,证实了这个理论。怎么回事?

在 shell 函数中 </code> 表示 "the first parameter to <strong>the function</strong>",而不是脚本。您需要将第一个脚本参数进一步传递给函数:</p> <pre><code>format_max_column_width ""