plutilの-lintオプションは、plist(property list)ファイルの構文をチェックする。オプションを何も指定せずplutilを実行した場合のデフォルト動作でもある。
構文が正しいファイルを確認する
$ plutil -lint sample.plist
sample.plist: OK
オプションを省略しても同じ結果になる。
$ plutil sample.plist
sample.plist: OK
構文エラーのあるファイルを確認する
閉じタグが対応していないなど、XMLとして不正なplistファイルを指定すると、エラー内容と該当行を含むメッセージを表示し、終了コード1で終了する。
$ plutil -lint broken.plist
broken.plist: (Close tag on line 7 does not match open tag string)
$ echo $?
1
複数ファイルをまとめてチェックする
引数に複数のファイルを指定すると、それぞれの結果を1行ずつ表示する。一部のファイルでエラーがあっても、残りのファイルのチェックは中断されず最後まで実行される。
$ plutil -lint sample.plist broken.plist
sample.plist: OK
broken.plist: (Close tag on line 7 does not match open tag string)
終了コードは、指定したファイルのいずれか1つでもエラーがあれば1になる。CI等で大量のplistファイルを一括チェックする際に使える。
-sで成功時の出力を抑制する
-sを併用すると、チェックに成功した場合は何も出力しない。
$ plutil -lint -s sample.plist
$ echo $?
0
正常なファイルの出力を減らし、エラーのあるファイルだけをログに残す運用で有用である。
参考
【plutil】plistファイルの中身を人間可読な形式で表示する\第一線のプログラマーの行動原理を学べる!/
