0

私は何が起こっているのか本当に理解しておらず、違いを見ることができません:

base64.exeWindowsでbase64テキストを作成するためのをダウンロードしました。変数にC:\Windows\あるので、コピーしました。%PATH%

今、私はそれを試してみたい:echo Hello | base64うまくいきます。さて、私は追加する必要はありません、そして.exe私が知っている限り、私はファイルでもそれをする必要はありません。.bat.com

しかし今、私はいくつかのcygwinツールをインストールしていて、たとえば試してみましたがwhich base64、それは機能しませんbase64 is not in path。次に、入力しwhich base64.exeて取得しましC:\Windowsた。

だから私の質問は今です:私が.exeを使う必要があるときと私が使わないとき?.exeを追加する必要があるのは、cygwinツールを使用している場合のみですか?

4

1 に答える 1

1

Cygwinは、UNIXの動作をエミュレートするシェルです。UNIXはについて何も知りません。.exeそのため、Cygwinはを見つけることができませんbase64.exe。UNIXでは、バイナリはファイル名に拡張子を追加せずに保存されます(例: 。) base64

Windows CMDは、ファイル名に、などを自動的に追加.batします.com.exeCygwinはそうではありません。したがって、Linuxシェルを使用している場合は、手動で追加する必要があります。

Cygwinは常にWindowsで実行されることを認識しているため.exe、シェル自体で特定のアクション(ファイルを開くなど)を実行したい場合は、この動作を期待するWindowsユーザーにとってより親しみやすい動作をするために追加することがあります。ただし、Cygwinで実行されているプログラムは、主にUNIXでの使用のために開発されているため、これらの機能を統合しない場合があります。which base64それが失敗する理由かもしれません。

于 2012-06-22T10:19:33.707 に答える