我正在尝试创建一个简单的备份脚本,其中包括复制我的 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
我不知道为什么这条线会出现,但我相信它不应该出现。
所以...有什么提示可以帮助我吗?