将所有更改的文件名保存到bash中的列表中

将所有更改的文件名保存到bash中的列表中,bash,git,Bash,Git,我想从中获取所有更改的文件 $git diff --name-only SHA1 SHA2 并将它们保存到bash中的数组变量中,但使用时: files=$(git diff --name-only SHA1 SHA2) 出于某种原因,它将所有文件名保存为带有空格分隔符的字符串,因此当我键入 $echo ${files[0]} 我将所有文件名作为单个字符串获取,并且 $echo ${files[1]} 是空的。那么,如何将每个文件名保存为一个数组元素,以便可以对其进行迭代呢 然后ech

我想从中获取所有更改的文件

$git diff --name-only SHA1 SHA2
并将它们保存到bash中的数组变量中,但使用时:

files=$(git diff --name-only SHA1 SHA2)
出于某种原因,它将所有文件名保存为带有空格分隔符的字符串,因此当我键入

$echo ${files[0]} 
我将所有文件名作为单个字符串获取,并且

$echo ${files[1]}
是空的。那么,如何将每个文件名保存为一个数组元素,以便可以对其进行迭代呢

然后
echo${files[0]}
echo${files[1]}
将按预期工作

files=($(git diff --name-only SHA1 SHA2))