シェルのコマンドの仕組みこんにちはゲストさん。>>解決済みの質問シェルのコマンドの仕組みシェルのコマンドの仕組みについて教えてください。1、シェルのコマンドはシェルのフォルダにコンパイルされて保存されてるのでしょうか?2、ユーザが打ったコマンドをシェルが解釈するときそのフォルダを検索して目当てのコマンドのプログラム実行してるのでしょうか?間違えていたら、補足お願いします。「echo」コマンド。これは「シェル組み込みコマンドのechoコマンド」と「/bin/echoのechoコマンド」の2つがある。「シェル組み込みコマンド」は「シェル自身の中に処理ルーチンがある」ので「シェル組み込みコマンドのechoコマンド」は、シェル自身が実行している。「/bin/echoのechoコマンド」は「シェル組み込みコマンドにechoコマンドを持っていないシェル」を使用した場合に使用される。>1、シェルのコマンドはシェルのフォルダにコンパイルされて保存されてるのでしょうか?「シェルのフォルダ」など存在しない。シェルのコマンドは、すべて、シェル自身の実行ファイルの中で処理される。>2、ユーザが打ったコマンドをシェルが解釈するときそのフォルダを検索して目当てのコマンドのプログラム実行してるのでしょうか?「シェルのフォルダ」など存在しないから「フォルダを検索」などしない。「内部コマンドのコマンド名は、予め決められていて、シェル自身の実行ファイル内部に埋め込まれている」だけ。ユーザーが打ち込んだコマンドラインの先頭の語句が、それらと一致したら、そのコマンドラインは、シェル自身の実行ファイルの中で処理される。シェル自身が実行しない「外部コマンド」については「探すフォルダの場所と順番をシェルに指示しておく」事により、順に検索される。「シェルが検索しない場所に置かれた外部コマンドはシェルから呼び出せない」事になる。回答(4)ANo.4ken-etsu外部コマンドは普通、シェルとは別にコンパイルされたバイナリファイルです。例外もあって、例えば、PerlやPHPで書かれたスクリプトもあれば、シェルスクリプトもあります。これらは当然、バイナリファイルでなくテキストファイルです。質問者様の意図は、内部コマンドということで考えて見ます。内部コマンドとは、シェルに内臓されているコマンドということで、シェルを実行するときに同時にメモリに読み込まれるわけです。したがって「コマンドをシェルが解釈するとき」最初はメモリから探されて見つかったら実行されます。外部コマンドのように何処にあるか探すために、絶対パスやPATH変数は必要としません。(0)通報するANo.1ken-etsuシェルって、/bin/sh、/bin/bashとかの類ですよね?シェルから実行できるコマンドには、内部コマンドと外部コマンドがあります。内部コマンドは、シェル組み込みのコマンドですので、シェルと一緒にコンパイルされて、シェルのバイナリの中にあって、シェルと不可分です。外部コマンドは、環境変数PATHに指定された「:」(コロン)区切りで並べられたディレクトリ(フォルダ)下のファイルが検索されて実行されるものです。回答ありがとうございます。(0)通報する登録日----年--月--日ありがとうポイント-ptお礼率-%ベストアンサー率-%お気に入りユーザーブロックユーザーあなたにオススメの質問Shellコマンドで再起動する方法を教えてください。いつも申し訳ございません。Shellのスクリプトの中で次のコマンドを記述しています。UNIXのAIXのVer5.1を使用しています。Kシェルを作成しており、以下のコマンドを変数に代入することができません。BATファイルでUNIXのshellのreadコマンドのような機能を探しています。Reserved.掲載情報の著作権は提供元企業等に帰属します。