voilou je n’arrive pas à faire par exemple :
if [ $(cat /etc/group | grep -w $t) = “” ]
then
alors que si je fais un
if [ $(cat /etc/group | grep -cw $t) = 0 ]
then
cela fonctionne
De plus comment faut il faire pour utiliser les ou logique et les et logique ?
if [ “$tmp” = “” -o “$tmp” = “#” ]
ben81
2
Je ne peux pas trop t’aidre mais peut etre que la http://www.trustonme.net/didactels/148.html tu auras quelque chose.
Asbel
3
Pour la comparaison, essaie de mettre == au lieu de =.
Pour le OU logique (ou le ET logique), essaie ça :
OU logique : if [ $tmp == “” ] || [ $tmp == “#” ]
( && pour ET)
pour ton 1er probleme : la commande que tu invoques va renvoyer 0 ou 1 mais jamais “” puisque c’est pas une chaine
regarde : “man test” ([…] est un alias de la commande test
et bien si je passe par une variable intermediaire cela fonctionne parfaitement.
tmp=$(cat /etc/samba/smb.conf | grep $t)
if [ “$tmp” = “” ]
then
yep merci
je pensais avoir essayer ca
ca marche