我有那个 bash 脚本,可以将 的输出读git show
入一个数组。
首先,我使用以下语句创建一个字符串:
git show --quiet --date=rfc --pretty=format:"%s|%b|%an, %ae|%H|%cd" HEAD
这给了我想要的模式:
SUBJECT|BODY|AUTHOR_NAME, AUTHOR_EMAIL|COMMIT_HASH|COMMIT_DATE
我可以确认生成的字符串不包含意外|
位置的字符。
接下来,我想将字符串拆分为它的字段,如将字符串拆分为 Bash 中的数组:
IFS='|' read -ra FIELDS <<< "$(git show --quiet --date=rfc --pretty=format:"%s|%b|%an, %ae|%H|%cd" $i)"
当我现在查看时FIELDS
,只有前两个元素被填充,但其他元素是空的:
echo ${FIELDS[0]} # prints SUBJECT
echo ${FIELDS[1]} # prints BODY
echo ${FIELDS[2]} # prints nothing
echo ${FIELDS[3]} # prints nothing
echo ${FIELDS[4]} # prints nothing
我究竟做错了什么?为什么最后三个数组元素为空?