Shell脚本逐行读取文件

Lol*_*lly 4 unix bash shell

我是新来的shell scripting.我需要读取一个文件,该文件适用于在其中定义了变量的所有shell.就像是:

variable1=test1
variable2=test2
    ....
Run Code Online (Sandbox Code Playgroud)

我必须逐行读取这个文件并准备用空格分隔的新字符串,例如:

variable=variable1=test1 variable2=test2 ....
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码:

while read LINE
do
$VAR="$VAR $LINE"
done < test.dat
Run Code Online (Sandbox Code Playgroud)

但它给我这个错误:

command not found Test.sh: line 3: = variable1=test1
Run Code Online (Sandbox Code Playgroud)

Chr*_*our 5

您的脚本问题是在初始化$之前的领先问题,请var尝试:

#/bin/bash

while read line; do 
    var="$var $line"
done < file

echo "$var"
Run Code Online (Sandbox Code Playgroud)

但是,您可以使用tr命令通过用空格替换换行符来执行此操作.

$ tr '\n' ' ' < file
variable1=test1 variable2=test2

$ var="$(tr '\n' ' ' < file)"

$ echo "$var"
variable1=test1 variable2=test2
Run Code Online (Sandbox Code Playgroud)