Strona 2 z 2
: 04 grudnia 2011, 18:37
autor: sponsoriada
A czy tak osiągnę pożądany efek
t?
Kod: Zaznacz cały
repo="/root/Dokumenty/Skrypty/backup/repo.txt"
exec 6<$repo
while read -u 6 a; do
tar a
done
Czy w ten sposób najpierw pobierze pierwszą ścieżkę z pliku zrobi tara i dopiero powtórzy tą czynnoś
ć?
: 04 grudnia 2011, 21:00
autor: lessmian2
Nie wiem co Ty wykombinowałeś, ale to co Ci podałem robi dokładnie to o co Ci chodzi.
: 04 grudnia 2011, 21:10
autor: sponsoriada
Tylko ja do końca nie rozumiem, a raczej nie wiem ja kto przełożyć więc może tak:
Jest plik "repo.txt". W nim znajdują się ścieżki do katalogó
w, które mają być tarowane.
I teraz czy to miałoby wyglądać tak:
Kod: Zaznacz cały
while read repo.txt line;
do
tar -cvf $line /katalog/do/ktorego/..
done < repo.txt
Czy ja źle to rozumiem?
Co daje nam:
Zaczynam dopiero programowanie w bashu więc proszę o cierpliwość i z góry dziękuję za pomoc i cierpliwość!
: 05 grudnia 2011, 15:39
autor: kodama
Prawie tak - linijka
powinna wyglądać nieco inaczej
Kod: Zaznacz cały
tar -cvf [B]/katalog/do/ktorego/archiwum.tgz[/B] $line
: 05 grudnia 2011, 17:31
autor: lessmian2
Oznacza "dopóki (while) czytasz (read) z pliku (done<plik) rób coś (do coś)". Plik jest przetwarzany linia po linii. Czytałeś jakiś kurs basha i *przerobiłeś samodzielnie* kilka przykładów?
: 19 stycznia 2012, 23:30
autor: sponsoriada
Napotkałem teraz inny problem przy pisaniu skryptu. Potrzebuję znaleźć w wierszu wyrażenie zaczynające się od ":" i kończące "6". Znalazłem polecenie który robi dokładnie odwrotną rzecz.
Z góry dziękuję.
: 20 stycznia 2012, 09:56
autor: kodama
To powinno być chyba dobre:
: 20 stycznia 2012, 10:07
autor: sponsoriada
Super działa!
Mam jeszcze taką prośbę jak możesz rozpisać mi po kolei jak to wyrażenie działa.
Byłbym bardzo wdzięczny.
: 20 stycznia 2012, 20:05
autor: Bastian
Przeczytaj podręcznik systemowy:
albo jakikolwiek inny poradnik.