コマンドプロンプトから .sh ファイルを実行しますか?

コマンドプロンプトから .sh ファイルを実行しますか?

.shこれらのプログラムのいずれかを使用して、Windows コマンド プロンプトからファイルを呼び出すことができます。

例えば:

msys myscript.sh

または

c:\temp\msys.exe myscript.sh

それは可能ですか? システムの 1 つで .sh スクリプトをバッチ ファイルで実行したいのですが。

答え1

msys.exeは、Unix コマンドライン ツールのポートの 1 つです。私は使用していませんが、msys.exeインストール パッケージのようですので、実行して構成する必要があります。ツールをすぐに使用できるようにしたい場合で、インストーラーがそうしない場合は、インストールされたディレクトリを変数に追加する必要がありますPATH

シェル スクリプトを解釈するには が必要なのでbash、例では次のように入力します。

bash -c myscript.exe

すべてのスクリプトが で終わる場合.sh(Unix では特定の拡張子は必要なく、拡張子がない場合もよくあります)、拡張子.shを に関連付けることができますbash。これにより、スクリプト名を入力するかダブルクリックするだけで済みます。

あるいは、bashの代わりに対話的に実行することもできますcmd。その場合、すべてのコマンドは Unix の場合と同じように実行されます。

注目すべき2つのポイント:-

  • スクリプトがUnixからインポートされた場合は、解釈された正しく実行されますが、Windows に存在しないコマンドやリソース、または異なる機能を持つコマンドやリソースを呼び出す場合は実行されません。
  • Unix では、 を/ディレクトリ区切り文字として、 を-コマンド オプションの信号として使用しますが、Windows では\と を使用します/。一部の Unix コマンド ポートでは、両方のスタイルに対応しようとしますが、 には 2 つの異なる意味があるため/、必然的に妥協点が少なくなります。 がこれを試みているかどうかはわかりませんmsys

関連情報