bash - Bash,循环通过空格分隔的数组来创建文件会导致它挂起
问题描述
正如问题标题中所述,当我将 GitBash 新安装到 Windows 10 64Bit 时,我正在尝试创建一些 5-6 个文件,并且我遇到了一个for
旨在创建这些文件的悬挂循环。
现在,我在 GitBash 的主文件夹中已经存在几个文件,如下所示:
.minttyrc
.gitconfig
但是当我试图创建一个通用的一次性脚本时,我决定编写代码,以便它忽略文件是否已经存在。
因此,在看到使用~
内部引号(双引号,所以甚至没有想到单引号)将其转换为文字字符串之后,因此不得不放弃以下代码:
gbfiles=(".profile" ".bashrc" ".minttyrc" ".gitconfig" ".bash_profile")
for file in ${gbfiles[@]}; do [ -f ~/$file ] || cat > ~/$file; done;
但是创建后的这段代码.profile
会发疯并挂起for
循环,之后不会创建单个文件。
为什么会发生这种情况(是因为循环卡在任何错误上,我使用条件来抑制/忽略错误)并且任何人都可以帮助实现预期目标吗?
解决方案
推荐阅读
- python - 如何将ArgumentParser中的相关参数分离出来,放在一起单独使用
- clojure - 您如何匹配 case 语句中的 defrecord 类型?
- python - 我如何才能返回主菜单?
- javascript - 我应该如何在我的 package.json 中调用启动我的项目的脚本?
- delphi-10.1-berlin - 如何用 Delphi 定义 WebView2 组件的 dataUserFolder
- python - 反向传播算法中使用的 sigmoid 导数在哪里以及权重如何更新
- html - css 和某些图像在 github 页面中不起作用
- c++ - 当我从正交切换到透视时,为什么我的纹理不能始终如一地绘制?
- c# - 方法签名中的 C# 等价于 C++ 的“¶m”是什么?
- reactjs - 我应该使用带有 next.js 和 strapi 的自定义服务器吗?