yet another shell (yash) とはまじかんとが開発しているPOSIX準拠のUnixシェルである。
来歴
特徴
- POSIX準拠
- POSIX.1-2008 (IEEE Std 1003.1, 2016 Edition)への完全な準拠を謳っており[8],加えてPOSIXとの互換性を崩さない,対話及びシェルスクリプトへの利用に役立つ利便な拡張機能(後述)を提供している。
- 豊富で丁寧な文書
- 公式から,yashに関する文書が英語及び日本語で提供されている[9][10]。シェルの手引きに留まらず,詳細な挙動の説明や構文の形式的定義まで広く記述している。
POSIX規格に無い機能拡張
既定で解除されている「POSIX準拠モード」を有効にすることで,これらの拡張機能は利用できなくなる。「POSIX準拠モード」が無効にする機能の完全な一覧は公式文書の当該項目を参照のこと。
- 命令列の補完
- 命令のオプションや非演算子を定義された規則に従って補完する[11]。
- 二重角括弧命令
- GNU BashやZshの
[[...]]
機能と類似した,test
命令の拡張[12]。
- 広域に亘る別名登録
- 命令列の最初の字句のみを置換する通常の別名登録とは異なり,命令列の全字句を登録した別名で置き換えられる[13]。
- 配列
array
組込命令などを用いて,配列を操作できる[14]。
- 拡張転送
- TCP・UDP通信[15]など。
- 乱数
- C99の
rand()
函数を利用した[16]擬似乱数を提供する[17]。
- 拡張チルダ展開
- ディレクトリ履歴などを参照できるチルダ展開機能[18]。
脚註
出典
関連項目
外部リンク