Test d'égalité en bash ?

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” = “#” ]

Je ne peux pas trop t’aidre mais peut etre que la http://www.trustonme.net/didactels/148.html tu auras quelque chose.

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