仕事で、正常終了時にコマンドのexitコードを0に、異常終了時には1にしたいとの話があり、やり方ってなんか無いのかな?と調べたので、その備忘。
やり方は簡単で、単に対象のコマンド実行時に頭に「!」をつけるだけだ。
! exitコードを反転させたいコマンド
実際に、lsコマンドで試してみよう。
Image may be NSFW.
Clik here to view.
[root@localhost ~]# # 存在するファイルをlsで指定(exitコードは0) [root@localhost ~]# ls -la /work/hostname_aaa_001.txt -rw-r--r--. 1 root root 8 1月 3 09:20 /work/hostname_aaa_001.txt [root@localhost ~]# echo $? 0 [root@localhost ~]# [root@localhost ~]# # 存在しないファイルをlsで指定(exitコードは1) [root@localhost ~]# ls -la /work/hostname_aaa_100.txt ls: /work/hostname_aaa_100.txt にアクセスできません: そのようなファイルやディレクトリはありません [root@localhost ~]# echo $? 2 [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# # 存在するファイルをlsで指定(exitコードは反転されて1) [root@localhost ~]# ! ls -la /work/hostname_aaa_001.txt -rw-r--r--. 1 root root 8 1月 3 09:20 /work/hostname_aaa_001.txt [root@localhost ~]# echo $? 1 [root@localhost ~]# [root@localhost ~]# # 存在しないファイルをlsで指定(exitコードは反転されて0) [root@localhost ~]# ! ls -la /work/hostname_aaa_100.txt ls: /work/hostname_aaa_100.txt にアクセスできません: そのようなファイルやディレクトリはありません [root@localhost ~]# echo $? 0
0以外だったら0、0だったら1に変換している事がわかる。
何かしらの判定でexitコードの意味を反転させたいなら、これで対応できるのでは無いだろうか?
Clik here to view.
