如何自动创建tar文件

时间:2017-11-03 11:09:49

标签: bash

我喜欢创建tar文件以使用bash分发一些脚本。

对于每个脚本,都需要某些配置文件和库(或工具箱),

e.g。一个名为CheckTool.py的脚本需要运行Checks.ini,CheckToolbox.py和CommontToolbox.py,它们存储在我的硬盘上的特定文件夹中,需要以相同的方式复制到用户硬盘上。

我可以为每个脚本手动创建一个tarfile,但我希望它更简单。

为此我有想法为特定脚本定义所有需要的文件及其路径的列表,并在bashscript中读取,这将创建tar文件。

我开始时:

#!/bin/bash

while read line 
do 
   echo "$line" 

done < $1

正在阅读文件和路径。在我的例子中,这些行是:

./ CheckTools / CheckMesh.bs

./ CONFIGS / CheckMesh.ini

./工具箱/ CommonToolbox.bs

./工具箱/ CheckToolbox.bs

我的问题是如何使用bash组织数据以使用指定的文件生成tar文件? 或者是否有人有更好的想法?

1 个答案:

答案 0 :(得分:1)

不需要复杂的脚本,使用tar的-T选项。其中列出的每个文件都将添加到tar文件中:

  来自文件的

-T, - 文件              获取要从FILE中提取或创建的名称

所以你的脚本变成了:

#!/bin/bash
tar -cvpf something.tar -T listoffiles.txt

listoffiles.txt格式非常简单,每行一个文件。您可能希望提供完整路径以确保获得正确的文件:

  

./ CheckTools / CheckMesh.bs
  ./Configs/CheckMesh.ini
  ./Toolboxes/CommonToolbox.bs
  ./Toolboxes/CheckToolbox.bs

你可以根据需要在脚本中添加tar命令,或者你可以在列表文件上循环,从那时起,你的想象力是极限!