我有一系列文件夹,每个文件夹都包含各种子文件夹,文件等。我试图将它们压缩成.tar.gz
目标文件夹结构例如是G:/ datastore及以下,zip文件夹名为yyyymmdd
目的地将是例如G:/ datastore / archive和file不出所料地命名为yyyymmdd.tar.gz
每次执行此一个日常文件夹的longform命令可以正常工作....
tar -czvf /cygdrive/g/datastore/archive/20160108.tar.gz / cygdrive / g / datastore / 20160108
但是尝试使用for循环让这个突然间拉开多天失败......
我试过的语法;
20160107 20160108的一天;做tar -czvf /cygdrive/g/datastore/archive/{day}.tar.gz / cygdrive / g / datastore / {day};完成
我得到的错误是
tar:删除前导`/'来自会员名称 tar:/ cygdrive / e / tickstore / datastore / {day}:无法统计:没有这样的文件或目录 tar:由于先前的错误而退出失败状态
如果我尝试导航,所以我坐在目标目录中并删除文件路径,我得到一个稍微不同但基本相同的错误;
语法因此;
cd / cygdrive / g / datastore
20160107 20160108的一天;做tar -czvf /cygdrive/g/datastore/archive/{day}.tar.gz {day};完成
tar:{day}:无法统计:没有这样的文件或目录 tar:由于先前的错误而退出失败状态
答案 0 :(得分:0)
详细阐述@Raman Sailopal在评论中所说的内容
您可以使用echo
命令测试您的变量是否正确使用,请参阅这些示例,请注意在变量day
之前使用美元符号:
使用{day}
$ for day in 20160107 20160108 ;do echo {day} ;done
输出:
{day}
{day}
使用${day}
:
$ for day in 20160107 20160108 ;do echo ${day} ;done
输出:
20160107
20160108