スタックオーバーフロー!システム プログラミング コースのために、私はカスタム シェルを作成しました。このシェルは、できれば bash とバッチを私の主要なスクリプト言語として置き換える目的で、割り当てが終わってから調整を続けてきました。パイピング、フォークなどに unistd.h を使用するために、Cygwin の C++ で行われました。 とにかく、私が遭遇した問題の 1 つは、シェルを実行しているときに、実行可能ファイルがそのように認識され、exec(3) 関数で実行されている間に、テキストファイル (スクリプトとして実行) は、実行のために bash に戻されます。明らかな答えは #! を入れることです。すべてのスクリプトのヘッダーを使用してシェルにリダイレクトしますが、シェル内でスクリプトが開かれたときにシェルをデフォルトとして実行したいと考えています。
少し関連したことですが、これを個別に質問する必要があるかどうかを教えてください。ただし、事前に bash を起動せずにシェルを実行できるようにしたいと考えています。bash --login -i
ただし、Cygwin はバッチ ファイルで実行することにより、UNIX 環境 (私のシェルに必要) を開始すると思います。Linux (VM など) の実行を伴わない回避策はありますか?