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

问题描述 投票:0回答:2

我需要读取3行文件

backuplist.txt

/等等/

/家

/启动

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

#!/bin/bash

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

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

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

arrays bash shell
2个回答
1
投票

你会发现你可以更容易地做到这一点:

#!/bin/bash

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

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


0
投票

你也可以这样做: -

#!/bin/bash

file_list=$(cat /backuplist.txt)

/bin/tar -zcf /backup/test.tar.gz $file_list
© www.soinside.com 2019 - 2024. All rights reserved.