対話型シェル、非対話型シェル、ログインシェル、および非ログインシェルの違いは何ですか? [コピー]

対話型シェル、非対話型シェル、ログインシェル、および非ログインシェルの違いは何ですか? [コピー]

重複の可能性:
ログインシェルと非ログインシェルの違いは何ですか?

私は/etc/profileそれらがどのよう/etc/bash.bashrc に実行されているかを調べてきましたが、いくつかは非ログインシェルによって実行され、いくつかはインタラクティブシェルで動作するように見えました。

このタイプのシェル(対話型と非対話型、ログイン、非ログインなど)の違いは何ですか?

この質問は非常に基本的かもしれませんが、シェルが何であるかを最初に尋ねる必要があるようです。シェルとは何か、関連性は何であり、どのように使用し、なぜ存在するのですか?

更新:質問の意図をよりよく理解するには、定義に加えて、1つまたは別のシェルのユースケースを理解する必要があります。単純な事前定義ではなく、理解を助けるユースケースです。

ベストアンサー1

シェルは、コンピュータと対話するためのテキストインタフェースを提供するすべてのプログラムの一般名です。コマンドを入力すると、出力が画面に表示されます。

多くのシェルにはスクリプト機能があります。複数のコマンドをスクリプトに入れると、シェルはキーボードで入力したようにそのコマンドを実行します。ほとんどのシェルは、スクリプト機能をプログラミング言語に拡張する追加のプログラミング構成を提供します。

ほとんどのUnix / Linuxシステムでは、bash、csh、ksh、sh、tcsh、zshなど、複数のシェルを使用できます。ユーザーにコマンド操作のさまざまなオプションを提供し、スクリプト言語の複雑さと機能が異なります。

インタラクティブ:名前が示すように、インタラクティブは、キーボードを介したユーザーの対話を通じてコマンドが実行されることを意味します。たとえば、シェルはユーザーに入力を要求できます。

非対話型:シェルは自動化されたプロセスで実行できるため、入力を要求したり、誰かが出力を表示したりすることはできません。たとえば、出力をログファイルに書き込む方が良いかもしれません。

ログイン:これは、シェルがユーザーログインシステムの一部として実行されることを意味します。通常、ユーザーが作業環境を設定するために必要な、または必要な構成を実行するために使用されます。

非ログイン:ユーザーがログインした後に実行またはログインしたユーザーに関連付けられていない自動化されたプロセスによって実行される他のすべてのシェル。

おすすめ記事