Я пытаюсь создать простой скрипт резервного копирования, который, помимо прочего, скопирует мой профиль Firefox, исключая любой элемент кэша или папку в этом профиле.
Это на моем основанном на debian crunchbangsystem.
Это звучит достаточно просто, но я новичок в 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
Я не знаюЯ не знаю, почему появляется эта строка, но я верю, что она не должна.
Так что ... есть какие-то подсказки, которые помогут мне в моем пути?