Windows/bash 中的意外问号

Unexpected question mark in Windows/bash

我正在尝试使用 Windows 上的 MinGW Bash 在 Windows 上自动“存档”一些本地分支。

我复制并粘贴 git branch 的内容到一个 txt 文件 (branches_to_be_archived.txt) 然后我写道:

归档单个分支的脚本

#!/bin/bash
BRANCH_NAME=
echo "Branch name is $BRANCH_NAME"
git tag archive/$BRANCH_NAME $BRANCH_NAME
git branch -D $BRANCH_NAME

从文件中归档每个分支的脚本

#!/bin/bash
FILE=./branches_to_be_archived.txt
LINES=$(cat $FILE)
for LINE in $LINES
do
    ./archive_branch.sh.txt $LINE
done

我插入了一些回显打印,它们没问题,但是执行 git 命令会引发这样的错误:

fatal: Failed to resolve '[actual name of the branch]?' as a valid ref.

尾随 ?没有在任何地方显示。

有什么方法可以避免在结尾处出现这个问号?

的确,这是一个结束字符问题(Win CRLF 和 Linux LF)。

我通过使用 Notepad++ 和设置 EOL -> Linux (LF) 解决了问题,但我认为分支列表文件的 dos2unix 工作正常