This web page is also available in English.

Yash

このプログラムは C 言語 (C99: ISO/IEC 9899:1999, JIS X 3010:2003) で書いた Unix 系 OS 用コマンドライン端末シェルです。Yash は世界で最も正確な POSIX 規格準拠を目指しながらも、対話シェルおよびシェルスクリプト実行プログラムとして便利な機能を備えています。

このプログラムは GNU General Public License (Version 2) の元で自由に再配布・変更などができます。 その代わり、プログラムの利用は全て各自の自己責任の下で行っていただくことに なります。作者はプログラムの瑕疵に対して一切責任を取りません。

なお、yash という名前のシェルは他にも存在するかもしれませんが、特に関係はありません。

ソースコードは Git レポジトリーで管理されています。

開発状況

Yash は既に POSIX.1-2008 (IEEE Std 1003.1, 2016 Edition) を全てサポートしています (ただし制限事項を除く)。

Yash は安定しています。新しいバージョンは一年に一度か二度リリースされます。(更新履歴)

要件

Software Development Utilities オプションと C-Language Development Utilities オプションを備えた任意の POSIX.1-2001 環境でビルド・実行できるはずです。 Yash は主に Fedora でテストされています。

インストール

プログラムのソースコードはリリースページ からダウンロード可能です。 (古いバージョンはリリース一覧から)

Fedora では、sudo dnf install yash で yash のパッケージをインストールできます。DebianUbuntu では sudo apt-get install yash で yash のパッケージをインストールできます。macOS では MacPortsHomebrew が yash を提供しています。NetBSD 等では pkgsrc で yash が利用可能です。

マニュアルman yash で参照できます。

基本設定

初期化スクリプト

Yash がログインシェルとして起動されたとき、~/.yash_profile を読み込みます。 このファイルはシェルスクリプトとして実行されます。この中で export コマンドを使うことで環境変数を設定できます。

Yash が対話シェルとして起動されたとき、(~/.yash_profile も読み込む場合はその後で) ~/.yashrc を読み込みます。この中でエイリアス、プロンプト、コマンド行編集のキーバインド設定、コマンドが見付からないときのハンドラー等を設定します。サンプルの yashrc を参考に自分用の ~/.yashrc を設定してください。

Yash をログインシェルにする

多くの Unix 系 OS では、ログインシェルとして使用可能なシェルは /etc/shells ファイルに名前が挙げられている必要があります。このファイルを編集し、yash へのパスがファイルに含まれているようにしてください。

その後、端末で chsh コマンドを実行してログインシェルを yash に変更してください。環境によってはこれ以外の方法でログインシェルを設定するようになっているかもしれません。詳しくはお使いの環境のマニュアルを参照ください。

関連情報

作者のブログ「まじかんと雑記」の Yash カテゴリもご覧下さい。

© 2007-2023 Magicant / 最終更新 2023-09-05