bash - skrypt kopiuj

Potrzebujesz pomocy z C, C++, perl, python, itp.
Demerzel
Beginner
Posty: 187
Rejestracja: 06 czerwca 2007, 14:44

bash - skrypt kopiujący i kompresujący pliki

Post autor: Demerzel »

To jest pierwszy skrypt w bash-u. Ręcznie potrafię skopiować i skompresować pliki ale jak to zrobić za pomocą skryptu? Coś takiego:

Kod: Zaznacz cały

#bin/bash
cp $1 $2;
cd $2;
gzip $1;
niestety nie działa. Zna ktoś może dobry kurs bash-a? czytałem kilka ale nie moge się w tym połapać.
slawek1979
Posty: 24
Rejestracja: 16 lipca 2007, 22:32
Lokalizacja: Kraków

Post autor: slawek1979 »

Taki skrypt o jaki Ci chodzi masz tutaj. Używasz go tak nazwa_skryptu katalog_1 katalog_2 uwaga katalog_2 musi istnieć!

Kod: Zaznacz cały

!/bin/bash
cp $1/* $2
cd $2
gzip *
Co do podręcznika BASH'a to sądząc po pytaniu proponuję zacząć od czegoś bardzo podstawowego (i użyć google :-D )
Tu masz kilka linków:
1. http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
2. http://newbie.linux.pl/?id=article&kategoria=2&show=172

Pozdrawiam,
Sławek
Demerzel
Beginner
Posty: 187
Rejestracja: 06 czerwca 2007, 14:44

Post autor: Demerzel »

Dziękuje za pomoc zacznę od tych kursów. Na googlach niejeden kurs znalazłem ale żaden do mnie nie przemówił :-( . C++, PHP są jakoś prostsze.

[ Dodano: 2007-08-18, 20:29 ]
Nie całkiem o to chodziło, albo nawet tego nie umie użyć :-( . W katalogu w którym jestem mam ileś tam plików i katalogów, jednym z katalogów jest backup. Skrypt przy podaniu mu "*" i nazwy "backup" ma wszystko spakować i włożyć do backup.
Maverik
Posty: 5
Rejestracja: 11 kwietnia 2007, 21:12
Lokalizacja: Z nienacka!

Post autor: Maverik »

Kod: Zaznacz cały

#!/bin/bash

pliki=(`ls`)
if [ -d backup ]; then
 i=0
 stop=nie
 while [ $stop == nie ]; do
  if [[ -e ${pliki[$i]} ]]; then
     if [[ ${pliki[$i]} == backup ]]; then
        unset pliki[$i]
      fi
     i=$[i+1]
  else
     stop=tak
  fi
 done
else
 mkdir backup
fi
tar -cf backup/backup-`date +%d-%m-%y`.tar ${pliki[@]}
Mniej więcej tak jak miało być tylko, że wystarczy wywołać skrypt, a on skompresuje do podkatalogu backup wszystko co znajduje się w bierzącym katalogu oprócz samego podkatalogu backup.

PS. I jeszcze archiwum będzie miało w nazwie dzisiejszą datę. :)
ODPOWIEDZ