delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/07/10/13:03:39

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE
X-Spam-Check-By: sourceware.org
X-Mail-Handler: MailHop Outbound by DynDNS
X-Report-Abuse-To: abuse AT dyndns DOT com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX19a3LxxH78gdJGxFqFxzhdG
Date: Tue, 10 Jul 2012 13:03:08 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Inconsistence on file operation when the name already exists with exe extension
Message-ID: <20120710170308.GB15210@ednor.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <BLU0-SMTP193F74A0A7FC396B8160663CED30 AT phx DOT gbl> <20120709154456 DOT GA6696 AT ednor DOT casa DOT cgf DOT cx> <BLU0-SMTP224D901B80815ECFB99E3BCED30 AT phx DOT gbl> <1BBEF94B6B46E54980290D150A6F2EDD20C950F5 AT SN2PRD0610MB396 DOT namprd06 DOT prod DOT outlook DOT com> <BLU0-SMTP97B6AD85F5813BE73A584ACED20 AT phx DOT gbl> <CA+sc5mmri4CSe19uaGig_uwzWruOVzpDmm-xDuYsUapph_Ji4w AT mail DOT gmail DOT com> <BLU0-SMTP212B1E87711B5FCCCC6A04DCED20 AT phx DOT gbl>
MIME-Version: 1.0
In-Reply-To: <BLU0-SMTP212B1E87711B5FCCCC6A04DCED20@phx.gbl>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Tue, Jul 10, 2012 at 06:54:06PM +0200, Aaron Schneider wrote:
>On 10/07/2012 17:24, Earnie Boyd wrote:
>> On Tue, Jul 10, 2012 at 4:34 AM, Aaron Schneider
>>> You're right that cygwin shell tries to emulate bash, I just twisted things.
>>>
>>
>> You're still wrong.  Cygwin is a POSIX library for Windows.  Bash is a
>> shell capable of being built with that POSIX library for use on
>> Windows but it isn't an emulation of Bash, it *is* Bash.  Other shells
>> available on *nix is also available for Cygwin.
>>
>>>The problem is that in unix executables don't have extension but they
>>>actually do in cygwin so I think that's the root of the problem.
>>
>>They don't need one in Cygwin either; as a matter of fact it was an
>>addition to binutils in the second generation of Cygwin that added the
>>.exe to the executable because it was more natural for Windows and
>>Windows at the time wouldn't execute the binary without the .exe
>>extension.
>>
>>>Probably compiling binaries under cygwin without the exe extension,
>>>like unix, is not an alternative, or is it?  Cygwin may detect if it is
>>>executable checking if it's PE format; if it is perl script.  Just
>>>check if file is present in path or run.  /file
>>
>>False.  It is wholly possible, you just have to pass the correct flags
>>to the linker process.  Current windows versions since at least XP and
>>maybe before would run files that did not contain a .exe extension.
>>
>
>I don't see how you can run a PE executable from windows shell
>(cmd.exe) directly without the exe extension.  I've just tried it in
>several ways and always prompts me the "Open with..." dialog instead of
>directly running it because treats it as data.
>
>When you say that Windows XP and above can run an executable without
>extension, you are talking about running it from windows shell.  But I
>was referring in the end to the cygwin terminal
>(C:\cygwin\bin\mintty.exe -) that I believe can run exe without
>extension even in older versions of windows, because it's bash that
>launches it as you said before.
>
>That's being said because I expect users to run commands from the
>cygwin terminal.  The exe extension is needed if you want to run the
>linux commands directly from the windows shell directly (c:\cygwin\bin\
>and other bash PATHs should be exported to the windows PATH to run them
>directly from windows shell, but you will mix things up)

Yes.  This observation is one of many on the subject which is
rediscovered every few months when someone notices that Cygwin treats
.exe specially.

Obviously we need a FAQ on this subject so that we can have something
obvious to point to for people to ignore.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019