Webページ作る以外に使えないと勝手に思い込んでいたPHPですが、普通にコマンドラインツールを作ることもできました。(今更)
JSONをパースするだけのPHPスクリプト
$ vim jsondecode.php |
例として、jsondecode.phpとかいうスクリプトを作ってみます。
<?php print_r(json_decode($argv[1], true)); |
中身は、phpのjson_decode関数を呼んで、それを表示するだけです。
PHPスクリプトの実行方法
$ php jsondecode.php '{"username":"katty0324"}' Array ( [username] => katty0324 ) |
phpを呼んでその引数にPHPスクリプトを渡せばコマンドラインでも実行してくれます。
シバンを書くことで実行ファイルにする
$ vim jsondecode |
phpの拡張子が付いているツールはかっこ悪いので、今度はjsondecodeという名前のファイルを作ります。
#!/usr/bin/php <?php print_r(json_decode($argv[1], true)); |
中身は先程と同じですが、1行目にシバン(#!/usr/bin/php)を追加します。これによって、このファイルがphpで実行されることを表します。
$ chmod u+x jsondecode |
更に、今度はPHPスクリプトではなく実行ファイルにしたいので、chmodコマンドで実行権限を与えます。
実行方法
$ ./jsondecode '{"username":"katty0324"}' Array ( [username] => katty0324 ) |
今度は、シェルから直接phpを呼ぶことなく実行できます。
こうするとパスを通すことによって他のLinuxコマンドと同様にも使えます。PHPなら書き慣れているという人はこれでサーバの管理ツールなんかも楽に書けそうです。