Como id -Gn
output é delimitado por espaço, não é possível usar isso.
A implementação GNU de id
desde o coreutils 8.22 possui uma opção -z
para produzir a lista delimitada por nul em vez de delimitada por espaço, então você poderia fazer (com GNU grep
que parece estar usando já) :
id -Gzn username | grep -Fxz 'mydomain\staff'
Ou:
id -Gzn username | grep -z '\staff$'
Para staff
em qualquer domínio (o que quer que seja)
Caso contrário, se você tiver um comando getent
, poderá reverter o problema:
staff_members=$(getent group 'mydomain\staff' | cut -d : -f 4-)
case ",$staff_members," in
(*,username,*) printf '%s\n' 'username is member of mydomain\staff'
esac