\r\n\r\n

chshを使用してLinuxのデフォルトシェルを変更する方法

bashだけがlinuxのシェルではありません。非常に人気のあるzshのような他のシェルも簡単に試すことができます。気に入ったものが見つかったら、chshコマンドを使ってデフォルトシェルとして設定します。

BashだけがLinuxのシェルではありません。Zshなど他のシェルも簡単に試すことができます。

貝殻が重要な理由

シェルは、あなたとOSの間に位置します。シェルは、入力された文字列を調査し、その結果を表示します。入札を自分で実行できる場合は、実行する。外部の助けが必要な場合は、パスを検索して、要求された動作を実行できるプログラムを見つけます。

Linuxには様々なシェルがありますが、ファイルシステムの閲覧、ファイルの操作、プログラムの起動、スクリプトの実行など、コアとなるタスクはどれも同じです。しかし、これらの作業はそれぞれが独自の方法で行い、特徴や特質があります。

シェルは、特定の方法で動作することを望む人々によって設計されることが多い。あなたの考えとデザイナーの考えが一致すれば、そのシェルはあなたにとって良いものになる可能性が高いのです。また、Linuxでは新しいシェルを試すのも簡単です。

Ubuntuを含むほとんどのLinuxディストリビューションのデフォルトのシェルはbashであり、それは良い、有能な仕事をします。しかし、別のシェルは、ワークフローに大きな違いをもたらす時間短縮のための違いを提供してくれるかもしれません。見なければわからない!

関連:ZSHとは何ですか、なぜBashの代わりにZSHを使うべきなのですか?

貝殻の入ったバケツ

以前、Linuxのシェルの種類を紹介しましたが、ここでは代表的なものを簡単に紹介します。

  • bash:Bourneシェルは、多くのディストリビューションでデフォルトで使用されています。
  • rbash: この制限されたbashshellは、その中で実行される人々やスクリプトに対して最小限の機能しか提供しません。
  • ash:Almquist shellはbashを軽量化したものです。
  • ダッシュ: Debian Alquist ShellはUbuntuのデフォルトのシェルスクリプトです。bashはデフォルトのログインおよび対話型シェルで、dashはbashよりはるかに軽いのでシステムプロセスの実行に使用されます。
  • zsh:Zシェルは、bashシェルファミリーの現代版です。コマンドによるスペルチェックや修正候補など、きちんとした改良が施されています。
  • fish: このフレンドリーな対話型シェルはゼロから書かれており、他のシェルファミリーに由来するものではありません。ユーザーフレンドリーであることを意図しています。Fishは、履歴やフォルダの内容をもとに、予測入力のようにコマンドの候補を表示する機能を備えています。
  • ksh:KornShellは特に強力なスクリプト言語を提供します。

関連:BashやZshなどLinuxのシェルの違いとは?

搭載されたエンクロージャーの一覧

お使いのコンピューターにインストールされているシェルを確認するには、次のコマンドを使用します。このコマンドは、/etc/shell ファイルの内容のみをリストアップします。

cat /etc/shells

bash、dash、rbashは紹介しましたが、shは何でしょうか?

は、1971年に書かれ、ベル研究所のケン・トンプソンによって有名になった「トンプソン・シェル」である。現在は整備されておらず、現代の貝殻に置き換えられて久しい。これは、純粋に古いスクリプトとの互換性を維持するために含まれており、その最初の行はまだ次のように読み取れます。

#!/bin/sh

これは、shシェルを使ってスクリプトを実行するようにシステムに指示するものです。その古いシェルは本当にあなたのマシンにあるのですか?スクリプトの実行に使われているのでしょうか? whichコマンドは、コマンドが入力されたときに、実際にどのプログラムが実行されているかを教えてくれるものです。

shと入力したときに何が実行されるか見てみましょう。

which sh

これは、バイナリファイルを発見したようです。しかし、もう少し掘り下げると、実際にはスクリプトの実行に使われる軽量シェルであるdashを指すシンボリックリンクであることがわかります。

ls -l /bin/sh

これはクリーンで軽量なアプローチであり、最新のシステムでshを見つけたいスクリプトにセーフティネットを提供することができる。

別のハウジングの取り付け

魚シェルをインストールして、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 $SHELL

まずは魚の殻から。

fish

さて、ここでもう一度環境変数$SHELLの意味を確認してみましょう。

echo $SHELL

最初にecho$SHELLを使うのはbashのSHELLである。環境変数にはbashの実行ファイル/bin/bashへのパスが格納されている。

FishShellを起動すると、フレンドリーなウェルカムメッセージが表示され、コマンドプロンプトが変更されます。驚くことに、$SHELL環境にはbashの実行ファイル/bin/bashへのパスが残っています。それでいいんです、普通で。

新しいシェル(または他のプログラム)を起動すると、親シェルの環境を引き継ぎます。このように、fishシェルはbashシェルからグローバル変数とエクスポートされた環境変数を継承しています。環境変数$SHELLの値は変更されないので、魚のSHELLでもbashのSHELLと同じ値を持っています。

他の番組と同じように魚を運営しています。また、exitを使用して魚の殻を終了させることができます。他のプログラムと同じようにシャットダウンして、bashシェルに戻ります。

新しい貝を試してみて、どんなことができるのか、自分と合うかどうかを確認するのはとてもいいことだと思います。ジャンプする前に探索し、ジャンプ先として選択することができます。

魚や他のシェルをデフォルトとして設定する場合は、chshコマンドを使用する必要があります。

chshコマンド

chshコマンドは、デフォルトのシェルを変更することができます。トリックは、デフォルトのログインとデフォルトの対話型シェルを変更することができるということです。

ログインしてコマンドプロンプトを表示するときは,ログインシェルとして設定されたシェルを使用し,ログインしてターミナルウィンドウを開いたときは,インタラクティブシェルとして設定されたシェルを使用します.これらのシェルは,同じでも異なっていてもかまいません.

ログインシェルを設定するには、引数なしでchshを使用します。

chsh

パスワードの入力を求められるので、新しいシェルへのパスを入力し、Enterキーを押してください。

別の遠隔地からこのテスト用コンピュータに接続し、ログインすると、そこは牢獄の中であった。

対話型シェルを変更するには、chsh と -s (シェル) オプションを使用します。

chsh -s /usr/bin/fish

パスワードの入力画面が表示され、現在のシェルコマンドプロンプトに戻ります。変更を有効にするには、一度ログアウトし、再度ログインする必要があります。そうすると、挨拶とfish shellのコマンドプロンプトが表示されます。

環境変数$SHELLには、新しいデフォルトのSHELL:へのパスが格納されるようになりました。

echo $SHELL

他のユーザーアカウントのシェルを変更する

root権限があってsudoが使えるなら、他のユーザーアカウントのシェルを変更することができます。コマンドは前と同じで、その人のユーザー名がコマンドラインに追加されています。

sudo chsh -s /usr/bin/fish mary

maryが次にログインしたとき、端末ウィンドウを開くと新しいシェルが表示されます。

誰にでもお気に入りはある

自分が選んだシェルが快適であれば、それはあまりにも素晴らしいことです。インストールルーチンのような一般的なスクリプトを実行できる必要があることを忘れないでください。ここで紹介したシェルであれば、問題ないでしょう。

もちろん、新しいシェルをダウンロードしてインストールし、コンピュータの設定を変更せずにテストドライブとして使用することも可能です。結婚の準備が整ったら、chshが司会を務めます。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ