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

文本文件是什么样的?

EXAMPLEfoo
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4

变量变成
$1 = EXAMPLEfoo
$2 = EXAMPLEbar

等等吗?

最佳答案

$ s=$(<file)
$ set -- $s
$ echo $1
EXAMPLEfoo
$ echo $2
EXAMPLEbar
$ echo $@
EXAMPLEfoo EXAMPLEbar EXAMPLE1 EXAMPLE2 EXAMPLE3 EXAMPLE4

我将通过消除临时变量s来改善上述情况:
$ set -- $(<file)

如果您输入的是这样的文件
variable1 = value
variable2 = value

您可以使用以下构造获取命名变量。
input=`cat filename|grep -v "^#"|grep "\c"`
set -- $input

while [ $1 ]
 do
  eval $1=$3
  shift 3
 done

关于bash - 将文本文件中的变量加载到bash脚本中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2652753/

10-11 19:31
查看更多