[LUGOS-PROG] Bash skripta

Nejc Skoberne nejc.skoberne at guest.arnes.si
Tue Apr 6 13:43:21 CEST 2004


Zdravo.

> Zgoraj imas napako tam v cut -f 5.
> To ti izpise 5. polje namesto 3, ki je UID. (Mogoce se motim, z cut-om
> nisem toliko domac)

Ja, je ze prav da izpise 5. polje, saj je delimiter presledek (in ne
prazen prostor). Sem pa ugotovil da to v par primerih odpade, tako da
sedaj uporabljam drugacno varianto: ls -lan | cut -c 17-20. Torej ker
izpljune numericne UIDe, so vedno na istem mestu kar pomeni da jih
lahko "fixed" poparsam...

> Ce prav razumem, bi rad vsebino direktorija v
> /var/spool/postfix/virtual/domena.si/xxx chownal na iste vrednosti kot je
> ima direktorij xxx? Ce ni tako, si itak napisal kar nekaj... :-)

Prav razumes. :> Finta je v tem, da pred tem importam mailboxe (kot
root) in potem moram vse skupaj "popraviti".

> cd /home || exit 1 # ce /home ne obstaja
> gid=1000
> for home in *
> do
>   if [ -d /var/spool/postfix/virtual/domena.si/${home} ];
>   then
>     uid=`ls -ld /var/spool/postfix/virtual/domena.si/${home} | awk '{print $3}`
>     chown -R $uid:$gid /var/spool/postfix/virtual/domena.si/${home}
>   fi
> done

E, tocno to. :) Tale awk mi ni ravno najbolj domac ... bo treba
pogledat. Ja... itak je lazje zlistat kar direktorij sam kot
parentdir... bom vedel vnaprej.

> Namesto kompliciranja z grepom in slashem na koncu enostavno reces
> ls -ld (a je odvec) in z awkom izpises 3. part...
> Ce direktorij /var/spool/.../domena.si/${home} ne obstaja oz. ni
> direktorij, se ti del v zanki ne bo izvedel, tako se bos izognil
> morebitnim napakam.

Super, najlepsa hvala.

-- 
Nejc Skoberne
Grajska 5
SI-5220 Tolmin
E-mail: nejc.skoberne at guest.arnes.si




More information about the lugos-prog mailing list