.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
。