fijate de evaluar una variable vacía así:
if [ "$usr" = "" ]
tal vez te ayude.
Alberto
On Fri, 2008-12-12 at 18:27 -0200, Aleka wrote:
> Gente:
>
> Estoy realizando un script en el cual busco los usuarios inactivos en
> el fileserver(samba) y, les comprimo y elimino el "profile".
>
> No es que el script no funcione, funciona de hecho puedo eliminar los
> perfiles, el problema se presenta en esta parte de la función
> busca_perfiles, en donde deberia evaluar si la variable esta vacia. La
> cuestion es que para todos los casos, lease cuando hay usuarios sin
> perfil y cuando hay usuarios con perfil me muestra el mismo mensaje.
>
> Estuve revisando y debagueando(si es que asi se escribe) el script,
> pero no le encuentro nada raro.
>
> #Informacion de los perfiles
> if [ -z `cat $con_perfil` ] 2&>/dev/null
> then
> echo No hay usuarios inactivos sin perfil
> else
> echo A estos usuarios inactivos les fue comprimido y
> eliminado el perfil:
> cat $con_perfil
> fi
> }
>
>
> Pego mi script completo para que puedan pegarle una hojeada y darme
> sus comentarios
>
> #!/bin/bash
>
>
> # variables
> netlogon=/var/lib/samba/netlogon
> profiles=/var/lib/samba/profiles
> backup_home=/backups/backup-home
> backup_profiles=/backups/backup-profiles
> us_inactivos=`mktemp`
> con_perfil=`mktemp`
> sin_perfil=`mktemp`
>
> #Lista de home
> newlshome=`ls /home | grep -v tar | grep -v defaultuser | grep -v
> grupos | grep -v papelera | grep -v "lost+found"`
>
>
>
> #Buscar usuarios inactivos en el sistema
> busqueda_usinactivos(){
> for a in $newlshome
> do
> found=`find $netlogon -maxdepth 2 -name "netlogon.$a.bat"`
> if [ -z "$found" ]
> then
> echo $a>>$us_inactivos
> fi
> done
> comprime_home
> }
>
>
>
> #Buscar perfiles de usuarios inactivos
> busca_perfiles(){
> cd $backup_profiles
> var2=`cat $us_inactivos`
> for a in $var2
> do
> foundp=`find $profiles -maxdepth 2 -iname $a`
> if [ -z "$foundp" ]
> then
> echo $a>>$sin_perfil
> else
> echo $a>>$con_perfil
> tar cjfp $a.tar.bz2 $foundp 2&>/dev/null
> rm -rf $foundp
> fi
> done
> #Informacion de los perfiles
> if [ -z `cat $con_perfil` ] 2&>/dev/null
> then
> echo No hay usuarios inactivos sin perfil
> else
> echo A estos usuarios inactivos les fue comprimido y
> eliminado el perfil:
> cat $con_perfil
> fi
> }
>
>
> busqueda_usinactivos
> busca_perfiles
> rm -rf $us_inactivos $us_activos $con_perfil $sin_perfil
>
>
> Saludos, Aleka
> --
> ceci tuera cela
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
/* Publica y encontra trabajo relacionado con softlibre en
http://www.usla.org.ar/modules/jobs/ */
Si tenés algún inconveniente o consulta escribí a
mailto:[email protected]