【发布时间】:2020-12-06 17:05:22
【问题描述】:
在我的 bash 脚本中,我想读取文件的内容并通过循环将文件的每一行附加到一个空字符串。这似乎很容易做到,我认为我已经根据 SO 上的其他一些帖子(如Concatenate inputs in string while in loop)正确地实现了它,但最终结果似乎仍然是一个空字符串。我显然做错了什么,但我对 bash 脚本不是很有经验,所以我可以快速动手。
我的 bash 脚本:
#!/bin/bash
SOME_STRING=""
cat .env | while read line
do
SOME_STRING+="$line"
done
echo "$SOME_STRING"
以及它引用的@987654323@ 文件:
FOO=bar
BAZ=bim
我希望输出为FOO=barBAZ=bim,但它只是写入一个空字符串。如果我在循环内扔一个echo "$SOME_STRING",我确实看到字符串按预期建立。
我将假设这与我读取文件内容和/或循环遍历文件的方式有关 - 例如,我尝试了 for/in 循环遍历空格- 分隔字符串而不是 while 循环遍历文件内容,效果很好。
非常感谢!
【问题讨论】:
标签: bash