...... en donde deberia evaluar si la variable esta vacia.......... test -z $variable
----- Original Message ----- From: "Aleka" <[email protected]> To: "Lista de temas generales del LUGAr y de Linux" <[email protected]> Sent: Friday, December 12, 2008 6:27:26 PM (GMT-0300) Auto-Detected Subject: [LUGAr-gral] Duda con variable "no vacia" en script bash 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] -- 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]
