ユーザーの存在確認をする時は、
何をもって「ユーザが存在する」とするかによって調べ方は変ります。
/etc/passwd
にエントリがある事で存在するとするのであれば /etc/passwd
に対して grep
でも getent
でもいいでしょう。
ただし外部の認証サーバを使うユーザがいたりして /etc/passwd
にエントリがないユーザがいた場合、そのユーザ存在しないという事になります。
ユーザグループの存在確認でも同じです。
何をもって存在するかということろで調べ方はかわってきます。
外部認証サーバーを使っているのであれば id コマンド で no such user
が返ってこない事を調べるのも1つの方法かと思います。
シェルのコマンドには終了ステータスというものがありますので、コマンドの実行結果はそれで確認するのが一般的です。
大抵のコマンドは正常に終了した場合(この場合ユーザが存在した場合)0になり、
異常終了した場合は0以外になります。
id コマンドの場合、ユーザが存在しなかった場合は終了ステータスが1になります。
存在する場合
shell
1$ id hana-da
2uid=1000(hana-da) gid=1000(hana-da) groups=1000(hana-da),10(wheel)
3$ echo $?
40
存在しない場合
shell
1$ id zettai-sonnzai-shinai-user
2id: zettai-sonnzai-shinai-user: no such user
3$ echo $?
41
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/17 00:35 編集
2016/10/17 00:39
2016/10/17 00:55