- ZshなどのさまざまなLinuxシェルを試してみることは、自分の好みに合ったものを見つけるための有益かつ簡単なプロセスになります。
- 各シェルには独自の機能とタスクを実行する方法があり、さまざまなシェルはワークフローに大きな影響を与える可能性があります。
- chshコマンドを使用すると、デフォルトシェルを変更できます。
Bashは唯一のLinuxシェルではありません。Zshなどの他のシェルを試すのは簡単で、非常に人気があります。気に入ったものが見つかったら、chsh
コマンドを使用してデフォルトシェルにします。その方法をご紹介します。
シェルの重要性
シェルは、ユーザーとオペレーティングシステムの間で機能します。ターミナルウィンドウ内で、コマンドを入力してプログラムを実行できる環境を提供します。シェルはユーザーの入力をチェックし、ユーザーが何を望んでいるかを把握します。自分で入札を実行できる場合は、実行します。外部の助けが必要な場合は、パスを検索して、リクエストされたことを実行できるプログラムを見つけます。
Linuxにはさまざまなシェルが用意されています。これらはすべて、ファイルシステムの探索、ファイルの操作、プログラムの起動、スクリプトの実行など、同じコアタスクを実行できます。ただし、それぞれが独自の方法でこれらのタスクを実行し、独自の特別な機能と特異性があります。
シェルは、物事を特定の方法で動作させたいと考えている人によって設計される傾向があります。そのデザイナーの考えと一致していれば、そのシェルはあなたに適しているかもしれません。さらに、Linuxで新しいシェルを試すことは簡単です。
Ubuntuを含むほとんどのLinuxディストリビューションでは、デフォルトのシェルはbash
です。それは素晴らしい仕事をし、非常に有能です。ただし、別のシェルは、ワークフローに大きな影響を与える時間の節約の違いを提供する可能性があります。探さなければわかりません!
最高のLinuxシェルは何ですか?
さまざまなLinuxシェルについては以前にも取り上げましたが、ここでは最も一般的なシェルを簡単に紹介します。
- bash:The Bourne again shellは、多くのディストリビューションのデフォルトです。
- rbash:この制限付き
bash
シェルは、そこで実行されている人またはスクリプトに最小限の機能を提供します。 - ash:Almquistシェルは、bashの軽量版です。
- dash:Debian Alquist Shellは、Ubuntuのデフォルトシェルスクリプトです。
bash
はデフォルトのログインおよび対話型シェルですが、dash
はbash
よりもはるかに軽量であるため、システムプロセスを実行するために使用されます。 - zsh:Zシェルは、
bash
ファミリのシェルのモダンなバージョンです。コマンドのスペルチェックや修正の提案など、優れた改善を提供します。 - fish:このフレンドリーな対話型シェルはゼロから記述されており、他のシェルファミリーから派生したものではありません。ユーザーフレンドリーであることを目的としています。fishは、予測テキストと同様に、履歴と現在のフォルダーの内容に基づいてコマンドの提案を提供します。
- ksh:KornShellは、特に強力なスクリプティング言語を提供します。
インストールされているシェルのリスト
コンピューターにどのシェルがインストールされているかを確認するには、このコマンドを使用します。これは、単に/etc/shellsファイルの内容を一覧表示します。
cat /etc/shells
bash
、dash
、およびrbash
について説明しましたが、sh
とは何でしょうか?
sh
は、1971年にベル研究所のケン・トンプソンによって書かれたトンプソンシェルです。もうメンテナンスされておらず、最新のシェルに取って代わられています。最初の行としてまだ次の行を持つ古いスクリプトとの互換性を維持するために純粋に含まれています。
#!/bin/sh
これは、システムにsh
シェルを使用してスクリプトを実行するように指示します。本当にその古いシェルがマシンにあり、スクリプトの実行に使用されていますか?which
コマンドは、コマンドを入力すると実際にどのプログラムが実行されるかを教えてくれます。
sh
と入力すると何が実行されるかを見てみましょう。
which sh
これはバイナリを見つけるようです。しかし、もう少し詳しく調べると、それは実際にはスクリプトを実行するために使用される軽量シェルであるdash
を指すシンボリックリンクであることがわかります。
ls -l /bin/sh
これは、最新のシステムでsh
を見つけることを期待するスクリプトの安全ネットを提供するための、きちんとした軽量な方法です。
別のシェルのインストール
fish
シェルをインストールし、dave
のデフォルトとして設定してみましょう。Ubuntuでは、次のコマンドを入力します。
sudo apt-get install fish
Manjaroでは、pacman
を使用します。
sudo pacman -Sy fish
Fedoraでは、次のコマンドを入力します。
sudo dnf install fish
インストールが完了したら、インストールされているシェルをもう一度確認できます。
cat /etc/shells
新しいシェルは/usr/bin/fish
として表示されます。そのパスをメモしておいてください。すぐに必要になります。
$SHELL環境変数
$SHELL
環境変数は、現在のシェルの名前を保持します。echo
を使用して、どのシェルに設定されているかを確認できます。
echo $SHELL
fish
シェルを起動してみましょう。
fish
それでは、$SHELL
環境変数が何を示しているかを確認してみましょう。
echo $SHELL
echo $SHELL
を最初に使用すると、bash
シェルになります。環境変数には、bash
実行可能ファイル/bin/bash
へのパスが保持されます。
fish
シェルを起動すると、フレンドリーなウェルカムメッセージが表示され、コマンドプロンプトが変更されます。驚くべきことは、$SHELL
環境がbash
実行可能ファイル/bin/bash
へのパスを保持していることです。問題ありません。これは正常です。
新しいシェル(または他のプログラム)を起動すると、親シェルの環境が継承されます。そのため、fish
シェルはbash
シェルからグローバルおよびエクスポートされた環境変数を継承します。$SHELL
環境変数の値は変更されていないため、fish
シェルでもbash
シェルと同じ値になります。
fish
を他のプログラムのように実行しています。exit
を使用してfish
シェルを終了することもできます。他のプログラムのように終了し、bash
シェルに戻ります。
これは、新しいシェルを試したり、何ができるかを確認したり、自分に合っているかどうかを確認したりするのに最適です。ジャンプして自分のシェルとして採用する前に、探索することができます。
fish
(または他のシェル)をデフォルトにする場合は、chsh
コマンドを使用する必要があります。
chshコマンド
chsh
コマンドを使用すると、デフォルトシェルを変更できます。コツは、ログインシェルと対話型シェルの両方を変更できることを認識することです。どちらか一方または両方を変更できます。
コマンドプロンプトを取得するためにログインするたびに、ログインシェルとして設定されているシェルを使用します。すでにログインしていてターミナルウィンドウを開いている場合は、対話型シェルとして設定されているシェルを使用します。これらは同じシェルでも異なるシェルでもかまいません。
ログインシェルを設定するには、パラメータなしでchsh
を使用します。
chsh
パスワードの入力が求められます。次に、新しいシェルのパスを入力してEnterキーを押します。
このテストコンピューターに別のコンピューターからリモート接続すると、ログインするとfish
シェルになります。
対話型シェルを変更するには、chsh
を-s
(シェル)オプションとともに使用します。コマンドラインで新しいシェルのパスを渡します。
chsh -s /usr/bin/fish
パスワードの入力が求められ、現在のシェルのコマンドプロンプトに戻ります。ログアウトしてログインし直して、変更を有効にする必要があります。そうすると、挨拶とfish
シェルコマンドプロンプトが表示されます。
$SHELL
環境変数に、新しいデフォルトシェルのパスが保持されるようになりました。
echo $SHELL
別のユーザーアカウントのシェルを変更する
root権限があり、sudo
を使用できる場合は、他のユーザーアカウントのシェルを変更できます。コマンドは以前と同じですが、その人のユーザー名がコマンドラインに追加されています。
sudo chsh -s /usr/bin/fish mary
mary
が次にログインしたとき、ターミナルウィンドウを開くと新しいシェルが表示されます。
誰もがお気に入りを持っています
選択したシェルに満足していて、それがあなたに合っているなら、それは素晴らしいことです。インストールルーチンなどの一般的なスクリプトを実行できる必要があることを覚えておくだけです。ここに挙げたシェルでは、これは問題ではありません。
もちろん、新しいシェルをダウンロードしてインストールし、コンピューターに構成を変更することなく試用することもできます。準備ができたら、chsh
があなたのために儀式を行います。
コメントする