This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Shell scripts on FAT volumes
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 21 Aug 2007 17:00:31 +0200
- Subject: Re: Shell scripts on FAT volumes
- References: <faetbb$q26$1@sea.gmane.org>
- Reply-to: cygwin at cygwin dot com
On Aug 21 15:37, Thorsten Kampe wrote:
> [Cygwin latest snapshot]
>
> I just noticed (on two different Windows XP) Cygwin installation that
> Shebang shell scripts are not executable on FAT32 volumes (like usb
> drives). The mount man page says "Normally, files ending in certain
> extensions (.exe, .com, .bat, .cmd) are assumed to be executable.
> Files whose first two characters begin with '#!' are also considered
> to be executable."
>
> Is that expected behaviour?
Right now, yes. I have disabled code which sets the x bit by reading
the first bytes of a file to figure out if it starts with magic chars
like '#!'. The reason I disabled this code in the first place is the
fact that it's not thread safe. I even considered it entirely
unnecessary, but apparently it's not. However, even though the scripts
don't have the x bit set, they are nevertheless executable. Try it:
(This is on FAT)
$ cat > x.sh << EOF
#!/bin/bash
echo hallo
EOF
$ ls -l x.sh
-rw-r--r-- 1 corinna users 23 Aug 21 16:55 x.sh
$ ./x.sh
hallo
$
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/