teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

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

2016/10/17 01:13

投稿

hana-da
hana-da

スコア1728

answer CHANGED
@@ -8,4 +8,30 @@
8
8
  何をもって存在するかということろで調べ方はかわってきます。
9
9
 
10
10
 
11
- 外部認証サーバーを使っているのであれば **id コマンド** で `no such user` が返ってこない事を調べるのも1つの方法かと思います。
11
+ 外部認証サーバーを使っているのであれば **id コマンド** で `no such user` が返ってこない事を調べるのも1つの方法かと思います。
12
+
13
+ ---
14
+
15
+ シェルのコマンドには終了ステータスというものがありますので、コマンドの実行結果はそれで確認するのが一般的です。
16
+
17
+ 大抵のコマンドは正常に終了した場合(この場合ユーザが存在した場合)**0**になり、
18
+ 異常終了した場合は**0**以外になります。
19
+ **id コマンド**の場合、ユーザが存在しなかった場合は終了ステータスが**1**になります。
20
+
21
+ 存在する場合
22
+
23
+ ```shell
24
+ $ id hana-da
25
+ uid=1000(hana-da) gid=1000(hana-da) groups=1000(hana-da),10(wheel)
26
+ $ echo $?
27
+ 0
28
+ ```
29
+
30
+ 存在しない場合
31
+
32
+ ```shell
33
+ $ id zettai-sonnzai-shinai-user
34
+ id: zettai-sonnzai-shinai-user: no such user
35
+ $ echo $?
36
+ 1
37
+ ```