6章親と子、および環境
シェルの目的——コマンドを実行すること——はLinuxにとって非常に基本的なことなので、シェルは何か特別な方法でLinuxに組み込まれていると考える人もいるかもしれません。しかし、そうではありません。シェルは、ls
やcat
のような普通のプログラムにすぎません。シェルは、次に示すステップを、何度も何度も何度も...繰り返すようにプログラムされています。
- プロンプトを表示する
- stdinからコマンドを読み込む
- コマンドを評価し、実行する
シェルは普通のプログラムである、という事実を隠すという点で、Linuxは素晴らしい仕事をしています。ユーザーがログインすると、Linuxはユーザーの代わりに、ログインシェル(login shell)と呼ばれるシェルのインスタンスを自動的に実行します。これはとてもシームレスに起動されるので、実際には、ユーザーがLinuxと対話するために起動されるプログラムにすぎないのに、あたかもLinuxの一部であるかのように見えるのです。
ログインシェルはどこにある? グラフィカルでないターミナルで(たとえば、SSHクライアントプログラムを使って)ログインする場合、ログインシェルは、ユーザーが対話する最初のシェルです。ログインシェルは最初のプロンプトを表示し、ユーザーのコマンドを待機します。 あるいは、グラフィカルなディスプレイを持つコンピューターで作業をする場合、ログインシェルは舞台裏で動作しており、GNOME、Unity、Cinnamon、KDE ... |
Get Efficient Linuxコマンドライン ―開発と自分に磨きをかけるLinuxのテクノロジー now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.