0

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

少し関連したことですが、これを個別に質問する必要があるかどうかを教えてください。ただし、事前に bash を起動せずにシェルを実行できるようにしたいと考えています。bash --login -i ただし、Cygwin はバッチ ファイルで実行することにより、UNIX 環境 (私のシェルに必要) を開始すると思います。Linux (VM など) の実行を伴わない回避策はありますか?

4

1 に答える 1

0

コマンド「ファイル」は、チェックしたい「ファイル」のタイプを認識するのに役立ちます

いくつかの例:

$file lavtc.sh
lavtc.sh: POSIX shell script, ASCII text executable, with very long lines

と:

$file java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5cb4cd120c014a335b60544ef209526e8a86f34c, stripped
于 2013-02-28T21:33:08.277 に答える