Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Bash - automaticka tvorba .gz archivu  (Přečteno 3053 krát)

kingpin

  • Návštěvník
  • Příspěvků: 44
Bash - automaticka tvorba .gz archivu
« kdy: 17 Dubna 2009, 09:59:41 »
Ahojte,
Prave zaciname tvorbu skriptu v Bash-i a chtel bych vytvorit skript kterej by mi sam vytvarel archivy tar.gz. Zatim jsme toho moc neprebrali ale preci jenom ... :)
Skript jako tak funguje ale chtel bych to malinko vychytat... pokud zadam spravnou cestu k adresaru tak to udela ale sekne se na vypise ze se mu to povedlo.
1.) Jde mi o to ze bych chtel po zjisteni navratove hodnoty $? == 1 aby vypsalo, ze se to povedlo a jinac vypsalo, ze ne.
2.) Bylo by fajn kdyby to bralo i cestu aktualniho adresaru a ne jen /home/user/...
// 3.) Jo a ted mne jeste napadlo jestli by se tam nedalo jeste naimplementovat kam se ma ten archiv vytvorit

Za vase napady budu vdecnej a necemu se zase priucim... I kdyz by se vam nechtelo vysvetlovat jak to funguje tak to si dovedu dohledat :)


Kód: [Vybrat]
#!/bin/sh

#tvorba tar.gz archivu

echo "Zadej cestu k adresaru: "
read adresar
echo -n "Zadej nazev vystupu: "
read nazov
tar -czvf $nazev".tar.gz" $adresar
 if [ "$?" == 0 ]
 then echo "Zadali jste nespravnou cestu. Nastala chyba"
 
 elif [ "$?" == 1 ]
  then
  echo "Vas archiv $nazov:".tar.gz" byl vytvoren a je ulozen v adresari $adresar"
« Poslední změna: 17 Dubna 2009, 10:11:23 od kingpin »

premet

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #1 kdy: 17 Dubna 2009, 10:36:44 »
1) Myslíš něco jako 
Kód: [Vybrat]
if [ "$?" == 0 ]; then
   echo "Vas archiv $nazov:".tar.gz" byl vytvoren a je ulozen v adresari $adresar"
else
   echo "Zadali jste nespravnou cestu. Nastala chyba"
Mimochodem   $?, když vyjde 0 tak je to úspěch.
3) man tar  ;)

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #2 kdy: 17 Dubna 2009, 10:39:24 »
1) Myslíš něco jako 
Kód: [Vybrat]
if [ "$?" == 0 ]; then
   echo "Vas archiv $nazov:".tar.gz" byl vytvoren a je ulozen v adresari $adresar"
else
   echo "Zadali jste nespravnou cestu. Nastala chyba"
Mimochodem   $?, když vyjde 0 tak je to úspěch.
3) man tar  ;)
.. omg .. `man bash` !!

a prectete si zejmena sekci operators !! mozna je to man test ..

premet

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #3 kdy: 17 Dubna 2009, 10:39:49 »
Tak se koukám, bude dělat ten skript i něco jinýho než jen vytváření archívů, protože tohle celý můžeš dělat přímo příkazem tar - volby ....

premet

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #4 kdy: 17 Dubna 2009, 10:40:37 »
1) Myslíš něco jako 
Kód: [Vybrat]
if [ "$?" == 0 ]; then
   echo "Vas archiv $nazov:".tar.gz" byl vytvoren a je ulozen v adresari $adresar"
else
   echo "Zadali jste nespravnou cestu. Nastala chyba"
Mimochodem   $?, když vyjde 0 tak je to úspěch.
3) man tar  ;)
.. omg .. `man bash` !!

a prectete si zejmena sekci operators !! mozna je to man test ..
Jo sorry, to jsem si vůbec neuvědomil  ;D
if [ "$?" -eq 0 ] by mělo být správně a ješte fi na konec, no jo ted sem vstával  ;D
« Poslední změna: 17 Dubna 2009, 10:42:09 od Premet »

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #5 kdy: 17 Dubna 2009, 10:42:56 »
no, spravne nespravne, je jedno jestli to porovnas jako cisla (-eq) a nebo jako retezec (=),  ale "==" je rozhodne blbost v bashi ;)

premet

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #6 kdy: 17 Dubna 2009, 10:43:35 »
no, spravne nespravne, je jedno jestli to porovnas jako cisla (-eq) a nebo jako retezec (=),  ale "==" je rozhodne blbost v bashi ;)
No to mám zase naučený z Cčka no  :D

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #7 kdy: 17 Dubna 2009, 10:45:03 »
no, spravne nespravne, je jedno jestli to porovnas jako cisla (-eq) a nebo jako retezec (=),  ale "==" je rozhodne blbost v bashi ;)
No to mám zase naučený z Cčka no  :D
.. hm. v cecku vas uci sr4t dohromady ruzne jazyky a jejich operatory .. zajimave .. ;)

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #8 kdy: 17 Dubna 2009, 10:46:16 »
radsi kdyby jste mi odpovedeli na tohle :: http://forum.ubuntu.cz/index.php/topic,34365.0.html

premet

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #9 kdy: 17 Dubna 2009, 10:47:48 »
no, spravne nespravne, je jedno jestli to porovnas jako cisla (-eq) a nebo jako retezec (=),  ale "==" je rozhodne blbost v bashi ;)
No to mám zase naučený z Cčka no  :D
.. hm. v cecku vas uci sr4t dohromady ruzne jazyky a jejich operatory .. zajimave .. ;)
Ne tak jsem to nemyslel, jen asi jak sem to psal rychle tak se mi vybavilo tohle, ve škole nás učí Cčko pomalým tempem takže jsem spíš samouk a mezi jiný jazyky tam zatím patří jen Scheme a Lisp což se fakt poplíst nedá.

kingpin

  • Návštěvník
  • Příspěvků: 44
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #10 kdy: 17 Dubna 2009, 10:59:58 »
jo takze to s tim == jsem si pak uvedomil a opravil si to na -eq ale nemel jsem cas to tady opravit... jeste se ted ucim CCNA1 takze se omlouvam. A navyse skriptuju pouze 2 dny  ;D

jo ta navratova hodnota pro $? je teda:
0 - dobre
1 - nedobre

nettezzaumana > jo jo tak jsme to myslel  :)
na ten 'man bash' si budu muset nekdy poobede sednout a prolouskat to

jenom mne na tom mym skriptu *ere ze do archivu me to bali celou cestu jak mu ji zadam a ne pouze posledni adresar ze zadane cesty. Nemuze to byt tim ze na konec cesty vzdy dopisu / ?
« Poslední změna: 17 Dubna 2009, 11:09:19 od kingpin »

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #11 kdy: 17 Dubna 2009, 11:12:25 »
nicmene premet ma pravdu .. nac psat script kterej akorat neco zataruju kdyz muzes udelat

tar czfv /foo.tar.gz /foo

kingpin

  • Návštěvník
  • Příspěvků: 44
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #12 kdy: 17 Dubna 2009, 12:01:18 »
Protoze na ten skript muzu napriklad pozdeji kdeco nalepit. A navyse se ucim skiptovat takze to jsou jenom takovy priklady ktere mi pomuzou se do toho dostat. Jde jen o to psat a psat a psat ...a hlavne tomu rozumet  ;) Linux mam taky jenom 3. tejden tak se snazim co nejvice vymackat ze sebe.

nettezzaumana

  • Host
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #13 kdy: 17 Dubna 2009, 12:04:38 »
Protoze na ten skript muzu napriklad pozdeji kdeco nalepit. A navyse se ucim skiptovat takze to jsou jenom takovy priklady ktere mi pomuzou se do toho dostat. Jde jen o to psat a psat a psat ...a hlavne tomu rozumet  ;) Linux mam taky jenom 3. tejden tak se snazim co nejvice vymackat ze sebe.
.. bezva ;)

takze `man bash`
http://docs.linux.cz/programming/interpreted/bashdoc-1.4/
http://tldp.org/LDP/abs/html/

kingpin

  • Návštěvník
  • Příspěvků: 44
Re: Bash - automaticka tvorba .gz archivu
« Odpověď #14 kdy: 17 Dubna 2009, 12:11:30 »
Jo a vsem vam moc dekuji za pomoc a odkazy  :)

 

Provoz zaštiťuje spolek OpenAlt.