【发布时间】:2012-02-21 19:49:40
【问题描述】:
我正在尝试创建一个简单的备份脚本,其中包括复制我的 firefox 配置文件,不包括该配置文件中的任何缓存项或文件夹。
这是在我的基于 debian 的 crunchbang 系统上。
这听起来很简单,但我是 bash 脚本的新手,到目前为止我想出的东西太不优雅和笨拙,我很想得到一些意见。
这是我目前所拥有的:
#!/bin/bash
for f in /home/my_name/.mozilla/firefox/*.default/*
do
echo "$f level 1"
if [[ "$f" != "Cache" ]]
then
if [ -d $f ]
then
for g in $f/?
do
echo "$g level 2"
for h in $g/?
do
echo "$h level 3"
for i in $h/?
do
echo "$i level 4"
for j in $i/?
do
echo "$j level 5"
done
done
done
done
fi
fi
done
您可能已经猜到,回声是用于错误检查的。这些将被 cp 语句替换。
我看到的一个问题是这不够灵活:如果目录超过 5 个,它们将不会被包括在内。如果我扩展脚本以包含它们,我只是将问题移到一步。
另一个问题是我在当前脚本的输出中看到的一个问题:
/home/my_name/.mozilla/firefox/gibberish.default/OfflineCache/?/?/? level 4
我不知道为什么会出现这条线,但我相信它不应该出现。
那么...有什么提示可以帮助我吗?
【问题讨论】:
-
你要找的技术是
recursion
标签: linux bash debian-based