8

いくつかの提案や指針についてstackoverflowを含めてオンラインで調べましたが、見つけたものはすべて圧倒され、どこから始めればよいかわかりません。明らかな見落としがあった場合はお詫び申し上げます。

ターミナルがどのように機能するかを学びたいし、ターミナルをゼロから構築したいと思っています。ターミナルに必要な概念と機能をカバーする資料に関するアドバイスや提案が欲しいのですが、ソースコードへのリンクだけが欲しいわけではありません。たくさんのオープンソース プロジェクトを見つけましたが、圧倒的だと思います。

理想的には、OS X、Linux、および/または Windows で実行できる独自の端末を構築し (おそらく Java を使用しますが、他の言語を検討します)、最終的には Web インターフェイスを備えたいと考えています (ブラウザにコンソールを搭載したいと考えています)。これが完了したことは知っていますが、自分でやりたいので、それがどのように機能するかを詳細に理解し、プロジェクトを実行するだけです.

私が本当に探しているのは、資料やチュートリアルを読んで方向性を示す出発点です。ターミナルよりもさらに基本的なものに一歩戻ることを意味する場合は、主な目的に向かって前進し続けるために実際にプログラムする何かができたら、喜んでそれを行います

4

2 に答える 2

2

ターゲット コンピューターへのソケット接続を作成し、[存在する場合はそこから読み取り、表示]、[ユーザー入力を待機、表示、それをソケットに送信]、を繰り返します。あなたは基本的な端末を持っています。

于 2013-03-14T12:52:55.297 に答える
1

ターミナルの背後にある考え方は、すべてのコマンドを解釈して実行する無限ループです。Perl での例を次に示します。

use strict;
use warnings;

while(<>) {
    system($_);
}

exit 0;

Perl は読むのが最も簡単な言語ではないことはわかっています (しかし、Perl は確かに最も速く書くことができました) が、上記のプログラムを理解するために必要なのはこれだけです:

<>標準入力から読み取ります。

system($_)コマンドを実行します (ここで、$_はループ内で機能し、現在評価されているアイテムを表す特別な Perl 変数です。この場合、指定されたコマンドです)。

上記のプログラムを としてコンピュータに保存してfoo.pl実行し、ターミナルを開いて を実行することができperl foo.plます。

ですから、これが基本的な考え方です。すべての言語が同じことを行うコマンドを実装していると思いますsystem(名前は変わるかもしれませんが、同じである可能性が高いです)。man systemこのコマンドが でどのように機能するかについては、 を参照してくださいC。私は Java を知りませんが、似たようなものを検索する必要があると確信しています。この出発点から、独自の端末を構築し始めることができると思います。

于 2013-03-14T13:02:49.793 に答える