回答編集履歴

1

シェルのコマンドには終了ステータスについて追記

2016/10/17 01:13

投稿

hana-da
hana-da

スコア1728

test CHANGED
@@ -19,3 +19,55 @@
19
19
 
20
20
 
21
21
  外部認証サーバーを使っているのであれば **id コマンド** で `no such user` が返ってこない事を調べるのも1つの方法かと思います。
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ シェルのコマンドには終了ステータスというものがありますので、コマンドの実行結果はそれで確認するのが一般的です。
30
+
31
+
32
+
33
+ 大抵のコマンドは正常に終了した場合(この場合ユーザが存在した場合)**0**になり、
34
+
35
+ 異常終了した場合は**0**以外になります。
36
+
37
+ **id コマンド**の場合、ユーザが存在しなかった場合は終了ステータスが**1**になります。
38
+
39
+
40
+
41
+ 存在する場合
42
+
43
+
44
+
45
+ ```shell
46
+
47
+ $ id hana-da
48
+
49
+ uid=1000(hana-da) gid=1000(hana-da) groups=1000(hana-da),10(wheel)
50
+
51
+ $ echo $?
52
+
53
+ 0
54
+
55
+ ```
56
+
57
+
58
+
59
+ 存在しない場合
60
+
61
+
62
+
63
+ ```shell
64
+
65
+ $ id zettai-sonnzai-shinai-user
66
+
67
+ id: zettai-sonnzai-shinai-user: no such user
68
+
69
+ $ echo $?
70
+
71
+ 1
72
+
73
+ ```