Bug 18458

Summary: Громоздкая проверка существования пользователя в группе
Product: Sisyphus Reporter: Eugene Ostapets <eostapets>
Component: mknfsrootAssignee: Sergey Bolshakov <sbolshakov>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: minor    
Priority: P2 CC: ldv, mike, php-coder, sbolshakov
Version: unstable   
Hardware: all   
OS: Linux   

Description Eugene Ostapets 2009-01-08 19:42:51 MSK
Для проверки существования пользователя можно воспользоваться конструкцией

if ! groups _mknfsroot | grep -q hashman ; then
...
fi
Comment 1 Dmitry V. Levin 2009-01-09 03:55:10 MSK
(In reply to comment #0)
> Для проверки существования пользователя можно воспользоваться
> конструкцией
> 
> if ! groups _mknfsroot | grep -q hashman ; then

(не видя оригинал)
Простого grep -q недостаточно, нужен именно -x:
if ! groups _mknfsroot |cut -d: -f2- |tr '[:space:]' '\n' |fgrep -qx hashman; then
Comment 2 Eugene Ostapets 2009-01-09 14:23:14 MSK
Хм... А какую потенциальную проблему обходит эта громоздкость и почему нельзя обойтись fgrep -wq?(Это так, для саморазвития) 
Comment 3 Dmitry V. Levin 2009-01-09 17:28:36 MSK
(In reply to comment #2)
> Хм... А какую потенциальную проблему обходит эта громоздкость и почему
> нельзя обойтись fgrep -wq?(Это так, для саморазвития)

1. в вашем варианте не было -w

2. -w недостаточно:
$ echo foo-hashman |fgrep -wc hashman
1
$ echo foo-hashman |fgrep -xc hashman
0
Comment 4 Eugene Ostapets 2009-01-09 17:52:20 MSK
Хм... Согласен, ступил...
Comment 5 Slava Semushin 2009-01-09 21:57:19 MSK
(In reply to comment #0)
> Для проверки существования пользователя можно воспользоваться
> конструкцией

if getent group _mknfsroot >/dev/null; then
    ...
fi