シェルパッケージガイドライン
ナビゲーションに移動
検索に移動
関連記事
パッケージ作成ガイドライン
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
インストール方法
ユーザが シェルの変更 を行うには、シェルを /etc/shells に記述する必要があります。ほとんどのシェルパッケージには以下のようなインストールスクリプトがあります。
shellname.install
post_install() {
grep -Fqx /bin/shellname /etc/shells || echo /bin/shellname >>/etc/shells
grep -Fqx /usr/bin/shellname /etc/shells || echo /usr/bin/shellname >>/etc/shells
}
post_upgrade() {
post_install
}
post_remove() {
sed -i -r '/^(\/usr)?\/bin\/shellname$/d' etc/shells
}
シェルの補完機能
ほとんどのシェルは、いくつかの一般的なコマンドに対してビルトインの補完機能を提供しており、さらに少なくとも1つのシステムディレクトリをスキャンして、他のパッケージが提供する可能性のある関数を検出します。以下の表は、パッケージが補完ファイルを配置できる場所と、ファイル名についての概要です。
| シェル | ディレクトリ | ファイル |
|---|---|---|
| Bash | /usr/share/bash-completion/completions |
binary_name
|
| Elvish | /usr/share/elvish/lib/ |
binary_name.elv
|
| fish | /usr/share/fish/vendor_completions.d |
binary_name.fish
|
| Zsh | /usr/share/zsh/site-functions |
_binary_name
|
その他のシェル:
Nushell はデフォルトの補完機能をいくつか提供していますが、まだ補完ファイルを提供するためのシステム全体のディレクトリはありません [1] Nushell の補完関数を生成するパッケージの場合、1つの解決策として、/usr/share/nushell/autoload/binary_name.nu にパッケージ化し、post_install() 関数を使用して、ユーザーに use /path/to/file ステートメントを設定ファイルに追加するように指示する方法があります。