[gilug.org] programacio bash
David Casals hakd0c telefonica net
2007-06-18 16:55:41 UTC
Hola a tots,
Necesito saber quins programes d'una llista previament especificada
estan engegats i faig el seguent:
#!/bin/bash
programes=/home/dcasals/llistar.txt
DBS=`ps xo 'comm'`
for i in $DBS;
do
if grep -q $i $programes ; then
echo "existe";
fi
done
Aixo funciona si el contingut de $i es igual a una de les linies del
fitxer, en cas que la cadena continguda a $i sigui un fragment d'una
linia del fitxer ja no entra a l'if.
Exeple:
Jo tinc engegat el firefox (en el meu cas s'esta executant firefox-bin)
i al fitxer i tinc firefox-bin em mostrara existe
si tinc engegat el firefox (firefox-bin) i al fitxer i tinc firefox no
em fa res i m'interessaria que també entres dintre l'if.
Basicament m'agradaria que la comparacio fos a la inversa que si una
linia del fitxer conte una cadena que es troba dintre de la variable $i
entres a l'if.
Si giro les variables a l'if i faig un:
grep -q $programes $i el grep es queixa que no troba el fitxer de nom el
contingut de la variable $i
Atentament
David Casals
hakd0c
Més informació sobre la llista de correu gilug