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 でテストされています。

インストール

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

Yash は様々なシステムのパッケージマネージャーで提供されており、以下のコマンドでインストールできます。

パッケージマネージャー システム コマンド
DNF Fedora dnf install yash
APT Debian / Ubuntu apt install yash
MacPorts macOS port install yash
Homebrew macOS brew install yash
pkg FreeBSD pkg install yash
pkgin NetBSD pkgin install yash
pkg_add OpenBSD pkg_add yash
Portage Gentoo emerge --ask app-shells/yash

その他のパッケージについては Repology にリストされています。

マニュアル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