aliasってcronやシェルスクリプト等からは基本使えないらしい

Vimで書いたコードを直ぐ実行できるquickrun.vimプラグインを導入してみた - kanonjiの日記で入れたquickrunでphpを実行する際に、MAMPphpを使いたかったんですがaliasで設定したら動かなくてちょっとはまりました。どうやらaliasの設定は、基本的にコマンドラインの対話シェル中じゃないと使えないみたいです。

状況

  1. php 5.3から使える様になった無名関数を含んだphpを書いてquickrunで実行したら、5.2系の/usr/bin/phpで処理されてエラー。
  2. alias php='/Applications/MAMP/bin/php5.3/bin/php'を設定するもquickrunで実行すると、同じくエラー。
  3. export PATH=/Applications/MAMP/bin/php5.3/bin:$PATHしてquickrunで実行したら、動作した。

補足

expand_aliasesを使ったりして、シェルスクリプト内でaliasを使う方法もあるっぽいけど、基本的に使えないものと考えた方が良いのかも。Linux/UNIXもそれなりに使ってるけど、細かいとこや深いとこは、こういう風に問題に当たらないと意識もしないし、知らない事多いなぁ。一度体系的に学んでみたい。

環境

Mac Mac OS X 10.5.8(Leopard
default php 5.2.15 (cli) (built: May 5 2011 18:56:00)
MAMP 1.9.6
MAMP php 5.3.5 (cli) (built: Feb 15 2011 16:55:30)

書いた時期

2012-02-15