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 には明確に書いてないのでこれで良いのか分からない。取り敢えず今は現状にとって好都合なように解釈しておく。
| 固定リンク
コメント