从文件中读取变量,在我的终端中工作正常,在 .sh 文件中不起作用

Reading variable from a file, works fine in my terminal, doesn't work in .sh file

我要运行下面的命令,把一个文件的内容记在一个环境变量里

read var << file.txt

当我从我的终端 运行 它工作正常。

但是,如果我 运行 来自 .sh 文件的完全相同的命令,发生的情况是它等待输出,就像我刚刚写的一样:

read var

您可以很容易地使用 cat 来获取文件的内容,如下所示:

#!/bin/sh
myvar=$(cat file.txt)
echo "$myvar"