将变量从文本文件加载到bash脚本中

S1s*_*hus 9 bash

是否可以从文本文件中加载新行到bash中的变量?

文本文件看起来像?

EXAMPLEfoo 
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4
Run Code Online (Sandbox Code Playgroud)

变量成为

$1 = EXAMPLEfoo 
$2 = EXAMPLEbar 
Run Code Online (Sandbox Code Playgroud)

ans等等?

gho*_*g74 26

$ s=$(<file)
$ set -- $s
$ echo $1
EXAMPLEfoo
$ echo $2
EXAMPLEbar
$ echo $@
EXAMPLEfoo EXAMPLEbar EXAMPLE1 EXAMPLE2 EXAMPLE3 EXAMPLE4
Run Code Online (Sandbox Code Playgroud)

我将通过删除临时变量s来改进上述内容:

$ set -- $(<file)
Run Code Online (Sandbox Code Playgroud)

如果您输入这样的文件

variable1 = value
variable2 = value
Run Code Online (Sandbox Code Playgroud)

您可以使用以下构造来获取命名变量.

input=`cat filename|grep -v "^#"|grep "\c"`
set -- $input

while [ $1 ]
 do
  eval $1=$3
  shift 3
 done
Run Code Online (Sandbox Code Playgroud)