_
ユーザ hoge が存在すかどうかは、id hoge
で簡単に調べられる。が、グループ hoge が存在するかどうかを調べる方法が思いつかない。汎用的な方法を誰か教えてください。
_ 以下、汎用的でない方法。
_ /etc/group を使わず LDAP や NIS などで管理しているとダメ。
cut -d: -f1 /etc/group | fgrep -x hoge && echo "group hoge exists"
_ NSS を使ってない OS でダメ。使える環境であればこれがいちばん適当か。
getent group hoge && echo "group hoge exists"
_ ruby がインストールされてない環境でダメ。perl/python その他も同様。
ruby -retc -e 'Etc.getgrnam "hoge"' && echo "group hoge exists"
_ 要 root 権限なのでダメ。
f=tmpfile.$$
touch $f
chgrp hoge $f && echo "group hoge exists"
rm $f