读取多行的文件并附加到单个变量

时间:2018-03-01 06:26:50

标签: arrays bash shell

我需要读取一个包含3行的文件

backuplist.txt

的/ etc /

/家

/启动

并将其附加到单个变量以压缩它

#!/bin/bash

cat backuplist.txt |
{
while read -r line
do
echo $line
/bin/tar -zcf /backup/test.tar.gz $line
done
echo $line
}

在运行脚本时,只使用/ boot目录创建tar文件。

无论如何要读3行到3个不同的变量并压缩它?

2 个答案:

答案 0 :(得分:1)

你会发现你可以通过以下方式更轻松地做到这一点:

#!/bin/bash

/bin/tar -zcf /backup/test.tar.gz $(<cat /backuplist.txt)

原来,你的脚本为文件中的每一行覆盖了test.tar.gz。

答案 1 :(得分:0)

你也可以这样做: -

#!/bin/bash

file_list=$(cat /backuplist.txt)

/bin/tar -zcf /backup/test.tar.gz $file_list