BashやZshのような有名なシェルはすでにご存知でしょうが、面白いユニークなシェルをいくつか紹介しましょう。
シェルは、コマンドを解釈することによって、LinuxやUnixライクなシステムへのインターフェースを提供し、ユーザーとオペレーティングシステムのコア作業の間の仲介役として機能します。
Bashシェルが最も人気のあるシェルであることは 間違いありませんが、macOSのデフォルトシェルであるZSHなど、他のシェルを好むユーザーもいます。
この記事では、積極的にメンテナンスされ、異なるユーザーエクスペリエンスを提供する、あまり一般的でないシェルのいくつかを紹介します。
魚貝
BashやZsh以外のシェルといえば、真っ先に思い浮かぶのがフィッシュシェルです。
Fish は、Unix 系 OS 用のインテリジェントでユーザーフレンドリーなコマンドラインシェルです。
フィッシュシェルの特徴
- 履歴に基づくコマンドの自動提案と完了を提供します。
- 24ビットのトゥルーカラーをサポート。
- シンタックスハイライトがサポートされており、すべての機能がすぐに利用できます。
魚を設置します:
Fishは、ほぼすべてのLinuxディストリビューションの公式リポジトリで利用可能です。Ubuntuでは、以下のコマンドでインストールできます:
sudo apt install fish
Ubuntuのリポジトリにあるバージョンは少し古いです。最新版をインストールしたい場合は、チームが提供する公式PPAを使うことができます。
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
Fish Shell
ヌシェル
Nushellは、Linux、macOS、Windows、BSD、その他のシステムで使用できる新しいタイプのシェルです。その哲学とインスピレーションは、 PowerShellようなプロジェクト、関数型プログラミング言語、最新の CLI ツールから来ています。
ヌシェルの特徴
- Nu Pipelineは構造化データを使用しているため、毎回同じ方法で安全に選択、フィルタリング、並べ替えを行うことができます。
- 強力なプラグイン:Nuは、強力なプラグインシステムを使用して簡単に拡張できます。
- 読みやすいエラーメッセージ:Nuは型付けされたデータを操作するので、他のシェルでは検出できないエラーを検出できます。問題が発生した場合、Nu は何が間違っているのか、なぜ間違っているのかを正確に突き止めます。
- クリーンなIDEのサポート。
Nushellをインストールします:
Ubuntuを使っている場合、NushellをインストールするためのAptリポジトリを見つけることはできません。しかし、 GitHub 注意事項よると、必要な依存関係をインストールすることでビルドできます。
brew install nushell
オフィシャルサイトで、より多くの設置オプションをご覧ください。
デューン
Duneは 高速で便利で美しいシェルであり、参照などの特別なメタプログラミング機能を提供します。
デューン・シェルの特徴
- 対話モードでは、Dune はホームディレクトリに保存されている "プリロードされた" ブートファイルを実行します。
- Dune の REPL は完全にカスタマイズ可能です。
- エイリアスは、変数にプログラム名を代入することで定義できます。
- マクロを使って、コマンドやプログラムのようにシェル環境を変更する関数を記述します。
- Dune は豊富な標準ライブラリと、各モジュールで利用可能なすべての関数を表示する優れたインターフェイスを提供します。
Dune Shell をインストールしてください:
Dune shell は dunesh という名前で Arch Linux のリポジトリから入手できます。
その他のユーザーには、Dune シェルを cargo 経由でインストールできます。そのため、まず Rust の最新バージョンをインストールする必要があります。すでに Rust をインストールしている場合は、最新バージョンであることを確認してから Dune のインストールに進んでください。
cargo install -f dune
インストールが完了したら、以下のコマンドを入力してシェルにアクセスできます:
Xonsh
Xonsh は Python で書かれたクロスプラットフォームのシェルとコマンドプロンプトです。PythonとBash Shellを組み合わせ、シェルから直接Pythonコマンドを実行できます。Python とシェルコマンドを組み合わせて使うこともできます。
もっと詳しく知りたい方は、Xonshの記事をお読みください:
Xonsh Shellの特徴:
- Xonsh言語には、Bashで使われる通常のShellプリミティブがあります。
- Pythonで環境変数と引数を用意し、シェルコマンドで使用します。
- サードパーティの拡張システムXontribs。
- カスタマイズ可能なラベル補完、キーバインディング、カラースタイル。
- 履歴が見やすいリッチなインターフェース
Xonsh Shellをインストールします:
Xonshは、UbuntuやFedoraなど、多くのLinuxディストリビューションのリポジトリで利用可能です。Ubuntuにインストールするには、以下を実行してください:
sudo apt install xonsh
ヒルビッシュ
Hilbish は Lua プログラミング言語でカスタマイズできる拡張可能なシェルです。このシェルはカジュアルユーザから上級ユーザまでを対象としています。
ヒルビッシュの特徴
- 使いやすいスクリプト
- 履歴と完了メニュー:完了と履歴検索のための正しいメニューをユーザーに提供します。
- 構文のハイライトとヒントは、Lua APIを通じて利用できます。
- UnixとWindowsの両方で動作しますが、Windowsでは問題が発生する可能性があります。
ヒルビッシュの設置
HilbishはUbuntuパッケージリポジトリでは利用できません。そのため、ソースビルドからインストールする必要があります。
インストールするには、 Goと タスクがインストールされている必要があります。
sudo apt install golang-go
sudo snap install task --classic
依存関係をインストールした後、以下のコマンドを実行してHilbishシェルをインストールします:
git clone --recursive https://.//sh
cd Hilbish
go get -d ./...
安定版を使用するには、以下のコマンドを実行してください:
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
task build
sudo task install
エルビッシュ
ElvishはLinux、Mac、Windows上で動作するリッチなプログラミング言語であり、多機能な対話型シェルです。ElvishはLinux、Mac、Windows上で動作し、まだv1.0はリリースされていませんが、ほとんどの日常的なやり取りにはすでに適しています。
エルフの特徴
- 強力なパイプ:Elvishのパイプはテキストだけでなく、構造化されたデータも転送できます。リストやマップ、関数までもパイプを通して転送することができます。
- 直感的なコントロール構造。
- ディレクトリ履歴: Elvishはあなたが訪れた全てのディレクトリを記憶しています。CTRL+Lキーでアクセスできます。
- 注文履歴
- 内蔵ファイルマネージャー: CTRL + Nを押してアクセスします。
エルフ語をインストールします:
Elvish ShellはUbuntuとArch Linuxのパッケージマネージャで利用できます。インストールするには、ターミナルを開いて
sudo apt install elvish
または
sudo pacman -S elvish
エルビッシュについてもっと知りたい方は、エルビッシュ公式ウェブサイトをご覧ください。
(邦訳)
開発者によると、OhはUnixシェルの再設計です。
過去半世紀にわたってUnixシェルによって確立された慣習を尊重しつつ、より強力で堅牢な、現代のシェルの代替となることを目的としています。
オーシェルの特徴
- ファーストクラスのチャネル、パイプライン、環境、機能。
- 標準的なシェル構造体の豊富な戻り値。
- モジュール性のサポート。
- 評価および引用ルールの簡素化。
- 文法は既成概念からできるだけ逸脱しないようにします。
ああ、インストールします:
Ohはコンパイル済みのバイナリを提供しています。 GitHub公式ページ ページからダウンロードしてください。
以下のコマンドを使用して、ファイルに実行権限を付与する必要があります:
chmod +x oh
以下のコマンドを実行してシステムにインストールしてください:
sudo mv oh /usr/local/bin/
次のコマンドでOhを開始できます:
Ohの詳細については、ドキュメントを参照してください。
ソリディティ
Solidityは、軽量なセッションロギングと、命令/言語を変更すると自動的に一致するリモートコンパイラをフェッチするリモートコンパイラサポートを備えた対話型シェルです。
ソリディティの特徴
- pragma solidity <version>選択されたコンパイラー・バージョンを動的にロードしようとします。
- セッションの保存と復元は .sessionコマンドで行います。
- 設定は終了時に保存されます。
- _は最後の既知の結果を表すプレースホルダです。
- 特別なコマンドとは、接頭辞に point が付いているものです。その他はすべてSolidityコードとして評価されます。
Solidityをインストールします:
npm経由でSolidityシェルをインストールできます。
最新バージョンのnodejsとnpmがインストールされていることを確認 し、以下のコマンドを入力します:
npm install -g solidity-shell
インストールが完了したら、 solidity-shell 実行してセッションを開始します。
ヤシュ
Yash は C99 で書かれた POSIX 準拠のコマンドラインシェルです。日常的な対話やスクリプトの使用に適した機能を備えています。
ヤッシュ・シェルの特徴
- グローバルエイリアス。
- ソケットリダイレクト、パイプリダイレクト、プロセスリダイレクト。
- プロンプト・コマンドと見つからなかったコマンドのハンドラ。
- 100以上のコマンドをカバーする定義済み補完スクリプトによるコマンドライン補完。
- コマンド履歴に基づくコマンドライン予測。
Yash Shellをインストールします:
シェルをインストールするには、 GitHub ページに行き、tarファイルをダウンロードする必要があります。tar ファイルを解凍すると、インストール手順が書かれた INSTALL ファイルがあります。
通常、解凍したフォルダ内で以下のコマンドを実行します:
./configure
sudo make install
Yash Shellの詳細については、マニュアルページをご覧ください。
参考までに。
- Ion: Rustで書かれたモダンなシステムシェルで、主にRedoxOSで使用するためのものです。 まだ開発途中であり、ユーザーは構文が変更されることを期待してください。
- Closh: 、伝統的なUNIXシェルと パワーを組み合わせたBashライクなシェルです。Bashに代わるモダンなシェルを目指しています。また、開発の初期段階にあります。
- Dash: は POSIX 準拠の高速で軽量な Debian シェルです。
経由




