bash: 如何正确地 read/assign 文本文件中的多行变量

bash: How to properly read/assign multiple lines to variables from text file

如果这是重复的,我深表歉意,但我还没有找到好的答案。 我有一个包含三个路径的文本文件,每个路径作为一个新行:

path1
path2
path3

我想将这些路径分配给三个变量。当我读入文本文件并将这三个路径分配给三个变量时,第一个变量被正确分配给 path1 而不是 second/third,并且第一个变量被重新分配给 path2。两个 second/third 变量始终为空(可能是换行符?)

while read -r a b c; do
    echo first_path is $a
    echo second_path is $b
    echo third_path is $c
done < ./ready.txt

输出是

first_path is path1
second_path is
third_path is
first_path is path2
second_path is
third_path is

这一定是一个简单的错误。任何帮助表示赞赏。谢谢。

每次调用 read 都会读取一行。您要迭代的是变量的 names

for name in first_path second_path third_path; do
  read -r "$name"
  echo "$name is ${!name}"
done