skript - potrebujem poradit

Sekcia: Programovanie 04.10.2006 | 00:38
tomolc   Návštevník
Zdravim vsetkych potrebujem poradit s takim malim skriptom. ma fungovat v klasickom bash som lama ma robit toto: ak existuje /mnt/sda1 tak exit inak skopiruj /home/sda1 (simlink na sdb1) do /mnt exit proste nieco ako bat subor vo win co cekne ci nieco existuja a nasledne sa zachova podla podmienok a nieco spravy a kam ho mam nakopcit aby sa spustil hned po prihlaseni? dik moc za odpovede tomolc
    • Re: skript - potrebujem poradit 03.10.2006 | 14:23
      Avatar Frantisek Klabzuba Debian  Používateľ
      #!/bin/bash if [ -b /dev/sda1 ]; then exit 1 fi cp -a /home/sda1 /mnt Ak som to ale spravne pochopil tak chces v mnt vytvorit symlinku na /dev/sda1 v /mnt/, ak neexistuje tak nic nevytvarat, to iste by mal robit tento skript: #!/bin/bash rm /mnt/sda1 ln -sf /dev/sda1 /mnt/sda1 2>/dev/null Alebo len jednoducho ln -sf /dev/sda1 /mnt/sda1 S tym ze ak /dev/sda1 neexistuje tak /mnt/sda1 bude zobrazena ako cervena (v mc alebo vo vypise ls). dvh
      • Re: Re: skript - potrebujem poradit 03.10.2006 | 16:23
        tomolc   Návštevník
        skusim to ide o toto potrebujem aby zistil ci existuje priecinok /mnt/sdb1 ak ano tak nic neuroby ak nie tak tam vytvori simlink na sda1 ale ten sa bude volat sdb1 tomolc
        • Re: Re: Re: skript - potrebujem poradit 03.10.2006 | 17:10
          Avatar Frantisek Klabzuba Debian  Používateľ
          # ci existuje priecinok /mnt/sdb1 (za predpokladu ze je to adresar a nie simlinka) #!/bin/bash if [ -d "/mnt/sdb1" ]; then exit 1 fi ... to co chces urobit ak /mnt/sdb neexistuje Prikaz ln ako som uz spominal vyssie ak pouzijes prepinac "f" tak to znamena force cize prepise ciel, cize rovno mozes pisat ln -sf /dev/sda1 /mnt/sdb1 Na co je to ale dobre neviem, skus nam povedat na co to vlastne chces a mozno ti poradime ako to urobit normalne, ok?
          • Re: Re: Re: Re: skript - potrebujem poradit 04.10.2006 | 00:38
            tomolc   Návštevník
            ok ide o taky malí tunning: mam 40GB USB HDD na nom live distro slax s modulmi /na ext3 s LILO. v slaxovi sa da ukladat konfiguracia do modulu ale naco !? sak si do modul ulozim simlinky ktore mi presmeruju vybrane priecinky s nastaveniamy programov v root /co je live v ramke/ na vytvorenu particiu ext3 kde je root2 a tam skutocne nastavenia ktore sa takto zachovaju a neminaju ram a ani cas na tvorbu modulu a lahsie sa spravuju. problem je v tom ze tie simlinky musia nutne ist cez /mnt/USBHDD/root2/.... USBHDD=sdb1 alebo sda1 ako kedy podla druhu ostatnych diskov v pc. tieto simlinky sa natiahnu pri starte ako posledny modul a prepisu/presmeruju tie priecinky v originalnom root na tie moje a vsetko slape. problem nastane tento: ked som doma a mam aj SATA hdd tak ten je SDA1 a moj USBBOX je SDB1 ale ked dojdem za pc kde nieje SATA moj disk je zrazu SDAa a SDB nexistuje teda vsetky simlinky su nefunkcne. ale to sa da lahko vyriesit pridanim simlinku s menom SDB1 ukazujuci na SDA1 a vsetko opet funguje len sa mi to nechce po starte kopcit rucne tak som chcel taky skript co overi ci tam je SDB1 a ak nie tak tam ten link doroby a chcem ho dat niekde - do priecinku odkial sa spustaju veci po prihlaseni ako root mozno sa to zda sialene ale mne to funguje a vyhovuje. moj USBBOX vyuzivam namiesto noteboooku /ten si nemozem dovolit/ a pc ochotne bootovat s USB sa valaju u nas na skole vsade............. :) dakujem za predoslu odpoved presne to som potreboval PS: ten slax je fakt tunningove distro tomolc