« 「スピード・レイサー」という名前 | トップページ | Air on テレ玉 »

2008年6月29日 (日)

yash 2 その 29: エイリアス

エイリアス機能を実装した。

Bash でも ksh でも zsh でも dash でも、以下のコードは if 文として解釈される。

alias xxx='';
xxx xxx if true; then echo ok; fi

Yash でもそうしたいのだが、エイリアスの再帰的展開に関する場合分けの処理が非常に複雑になってしまうので、諦めた。Yash では、一つ目の xxx は消えるが二つ目の xxx はそのままなので、xxx というコマンドと解釈する (後で then が出てくる所で構文エラーになる)。

というか、上のコードは bash のように if 文として解釈しなければならないのかどうか、POSIX には明確に書いてないのでこれで良いのか分からない。取り敢えず今は現状にとって好都合なように解釈しておく。

|

« 「スピード・レイサー」という名前 | トップページ | Air on テレ玉 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/41684726

この記事へのトラックバック一覧です: yash 2 その 29: エイリアス:

« 「スピード・レイサー」という名前 | トップページ | Air on テレ玉 »