Download List

Project Description


Yet another shell (yash) is a POSIX-compliant command line shell, featuring more strict POSIX compliance than those of other shells, as well as powerful command line editing.

System Requirements

System requirement is not defined

Released at 2015-08-27 00:00
yash 2.39 (2 files Hide)

Release Notes

Yet another shell, version 2.39.

This version includes many bug fixes. It also includes some backward-incompatible changes to improve POSIX-conformance:

  • The "return" built-in has been changed not to interrupt the "eval" and "fc" built-ins.
  • The "read" built-in now requires an option to enable line-editing. Previously, line-editing was automatically used if the shell was interactive.

Yet another shell バージョン 2.39

今回のバージョンでは多くのバグが修正されています。また POSIX により厳密に準拠するために互換性の無い変更が入っています。

  • Return 組込みコマンドは eval および fc 組込みコマンドを中断しないようになりました。
  • Read 組込みコマンドで行編集を有効にするためにはオプションが必要になりました。以前は対話的シェルでは自動的に有効になっていました。


Yash 2.39

  • + New options for the "read" built-in: -e, -P, -p
  • + New completion script for: passwd, valgrind
  • - The configuration option '--disable-alias' has been dropped.
  • = The "read" built-in now requires the -e (--line-editing) option to enable line-editing.
  • = The behavior of the "trap" built-in now conforms to POSIX.1-2013. The built-in prints the traps for the calling shell rather than the subshell when it is executed in a command substitution.
  • = The manual for the "return" built-in has been clarified as to what the built-in can return from. The behavior of the built-in has been modified accordingly. It no longer interrupts the "eval" and "fc" built-ins.
  • * Crash on division by zero with the "/=" or "%=" operator in arithmetic expansion.
  • * Crash in the "complete" built-in called without the -D option.
  • * Yash no longer tries to find the profile and rcfile scripts in the root directory when $HOME is not set.
  • * The "read" built-in with a single operand was failing to trim initial IFS whitespaces in field splitting.
  • * The "read" built-in was not handling backslashes correctly in field splitting if $IFS contained a backslash.
  • * The "-o allexport" option was being ignored when an array is assigned by the "read" built-in with the -A option.
  • * Traps are no longer handled while waiting for input with line- editing in the "read" built-in.
  • * Operands to the "set" built-in are now correctly completed.
  • * Minor fix in completion script for "git-svn".


  • +: new feature
  • -: removed feature
  • =: specification change
  • *: bug fix

Yash 2.39

  • + "read" 組込みの新しいオプション: -e, -P, -p
  • + 補完スクリプトを追加: passwd, valgrind
  • - configure の --disable-alias オプション
  • = "read" 組込みで行編集を有効にするには -e (--line-editing) オプションを必要とするようにした
  • = "trap" 組込みコマンドの出力が POSIX.1-2013 に準拠するように修正。コマンド置換内で実行した場合、サブシェルではなく元のシェルのトラップを出力する。
  • = "return" 組込みコマンドが何からリターンすることができるのかについてマニュアルの記述を明確化し、動作も変更。"eval" および "fc" 組込みコマンドを "return" で中断できないようにした。
  • * 算術展開で "/=" および "%=" 演算子でのゼロ除算でクラッシュ
  • * "complete" 組込みを -D オプション無しで呼んだ時クラッシュ
  • * $HOME が設定されていないときにルートディレクトリから初期化スクリプトを探して実行しようとしないように修正
  • * "read" 組込みを引数一つで呼び出したとき単語分割で先頭の IFS 空白類が残ってしまっていた
  • * "read" 組込みの単語分割で、$IFS にバックスラッシュが含まれている場合にバックスラッシュが正しく処理されていなかった
  • * allexport オプションが有効な時でも "read" 組込みで配列に代入するときエクスポートされていなかった
  • * "read" 組込みで行編集を使って入力を待ち受ける間にトラップが実行されてしまっていた
  • * "set" 組込みの引数の補完を修正
  • * "git-svn" の補完スクリプトを修正


  • +: 新機能
  • -: 廃止機能
  • =: 仕様変更
  • *: バグ修正
  • x: 新たに加わってしまったバグ