PHPパッケージ管理ツールのComposerでは、ファイルcomposer.jsonへscriptsを定義することで、以下のようスクリプトのエイリアスを定義することができます。
{
"reauire" {
...
},
"scripts": {
"start": "php -S localhost:8080 -t public public/index.php"
}
}
上記の場合、compoesr.jsonがあるディレクトリで、composer start
を実行することで"php -S ..."のコマンドが実行できます。
$ composer start
> php -S localhost:8080 -t public public/index.php
scripts定義で、ディレクトリを移動する
このように普段使うコマンドを簡単に実行できるscriptsの機能ですが、コマンドの実行時に作業ディレクトリをcompoesr.jsonがあるディレクトリから移動したい場合があります。
このような場合は"&"で複数のコマンドを続けて書くことができます。ディレクトリ移動の場合は、以下のようにcd /path/to/target & other-command
のような形で、cdコマンドを最初に実行すればよいです。
{
"scripts": {
"kpi": "cd src/batch & php calcKpi.php",
}
}
scriptsの実行後は元のディレクトリに戻ってくるので、pushd/popdコマンドを使う必要は無いようです。
こちらもおススメ