\r\n\r\n
BashだけがLinuxのシェルではありません。Zshなど他のシェルも簡単に試すことができます。
シェルは、あなたとOSの間に位置します。シェルは、入力された文字列を調査し、その結果を表示します。入札を自分で実行できる場合は、実行する。外部の助けが必要な場合は、パスを検索して、要求された動作を実行できるプログラムを見つけます。
Linuxには様々なシェルがありますが、ファイルシステムの閲覧、ファイルの操作、プログラムの起動、スクリプトの実行など、コアとなるタスクはどれも同じです。しかし、これらの作業はそれぞれが独自の方法で行い、特徴や特質があります。
シェルは、特定の方法で動作することを望む人々によって設計されることが多い。あなたの考えとデザイナーの考えが一致すれば、そのシェルはあなたにとって良いものになる可能性が高いのです。また、Linuxでは新しいシェルを試すのも簡単です。
Ubuntuを含むほとんどのLinuxディストリビューションのデフォルトのシェルはbashであり、それは良い、有能な仕事をします。しかし、別のシェルは、ワークフローに大きな違いをもたらす時間短縮のための違いを提供してくれるかもしれません。見なければわからない!
関連:ZSHとは何ですか、なぜBashの代わりにZSHを使うべきなのですか?
以前、Linuxのシェルの種類を紹介しましたが、ここでは代表的なものを簡単に紹介します。
関連:BashやZshなどLinuxのシェルの違いとは?
お使いのコンピューターにインストールされているシェルを確認するには、次のコマンドを使用します。このコマンドは、/etc/shell ファイルの内容のみをリストアップします。
cat /etc/shellsbash、dash、rbashは紹介しましたが、shは何でしょうか?
は、1971年に書かれ、ベル研究所のケン・トンプソンによって有名になった「トンプソン・シェル」である。現在は整備されておらず、現代の貝殻に置き換えられて久しい。これは、純粋に古いスクリプトとの互換性を維持するために含まれており、その最初の行はまだ次のように読み取れます。
#!/bin/shこれは、shシェルを使ってスクリプトを実行するようにシステムに指示するものです。その古いシェルは本当にあなたのマシンにあるのですか?スクリプトの実行に使われているのでしょうか? whichコマンドは、コマンドが入力されたときに、実際にどのプログラムが実行されているかを教えてくれるものです。
shと入力したときに何が実行されるか見てみましょう。
which shこれは、バイナリファイルを発見したようです。しかし、もう少し掘り下げると、実際にはスクリプトの実行に使われる軽量シェルであるdashを指すシンボリックリンクであることがわかります。
ls -l /bin/shこれはクリーンで軽量なアプローチであり、最新のシステムでshを見つけたいスクリプトにセーフティネットを提供することができる。
魚シェルをインストールして、daveのデフォルトに設定しましょう。Ubuntuでは、次のコマンドを入力します。
sudo apt-get install fishManjaro では、pacman を使っています。
sudo pacman -Sy fishFedoraの場合、次のように入力します。
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パスワードの入力を求められるので、新しいシェルへのパスを入力し、Enterキーを押してください。
別の遠隔地からこのテスト用コンピュータに接続し、ログインすると、そこは牢獄の中であった。
対話型シェルを変更するには、chsh と -s (シェル) オプションを使用します。
chsh -s /usr/bin/fishパスワードの入力画面が表示され、現在のシェルコマンドプロンプトに戻ります。変更を有効にするには、一度ログアウトし、再度ログインする必要があります。そうすると、挨拶とfish shellのコマンドプロンプトが表示されます。
環境変数$SHELLには、新しいデフォルトのSHELL:へのパスが格納されるようになりました。
echo $SHELLroot権限があってsudoが使えるなら、他のユーザーアカウントのシェルを変更することができます。コマンドは前と同じで、その人のユーザー名がコマンドラインに追加されています。
sudo chsh -s /usr/bin/fish marymaryが次にログインしたとき、端末ウィンドウを開くと新しいシェルが表示されます。
自分が選んだシェルが快適であれば、それはあまりにも素晴らしいことです。インストールルーチンのような一般的なスクリプトを実行できる必要があることを忘れないでください。ここで紹介したシェルであれば、問題ないでしょう。
もちろん、新しいシェルをダウンロードしてインストールし、コンピュータの設定を変更せずにテストドライブとして使用することも可能です。結婚の準備が整ったら、chshが司会を務めます。