bash - 将所有更改的文件名保存到 bash 中的列表
问题描述
我想从中获取所有更改的文件
$git diff --name-only SHA1 SHA2
并将它们保存到bash中的数组变量中,但是当我使用时:
files=$(git diff --name-only SHA1 SHA2)
出于某种原因,它将所有文件名保存为带有空格分隔符的字符串,所以当我输入
$echo ${files[0]}
我将所有文件名作为单个字符串获取,并且
$echo ${files[1]}
是空的。那么如何将每个文件名保存为数组元素,以便可以遍历它们呢?
解决方案
files=($(git diff --name-only SHA1 SHA2))
然后echo ${files[0]}
或echo ${files[1]}
将按预期工作。
推荐阅读
- c# - 如何在 foreach 循环中处理 NullReferenceException?
- c# - EF 如何以编程方式应用具有不同架构的多个 DBContext 的迁移
- c# - 我可以使用 SQL Server Management Studio 或其他方式查看 sqllocaldb 的数据来查看/更新/删除数据库数据吗
- python - Python 更新 numpy 数组:类型错误 numpy.int32 不可迭代
- django - 运行 django hello world web 服务器时出错
- python - 如何检查哪个 Jupyter 笔记本有“%run”另一个笔记本?
- r - 如何合并两列并在 r 中保留第三列?
- spring-retry - 是否可以根据 HttpStatus 状态 200 或 207 在 spring-retry 中设置 RetryPolicy?
- python - 使用 Matplotlib 将 R 绘图代码重写为 Python 但没有得到相同的结果
- node.js - 发生 Heroku h12 和 503 错误