This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Conflict between Cygwin 1.7 and Ubuntu for Windows 14316

On 4/13/2016 9:11 AM, John Cowan wrote:
LLoyd scripsit:

John, if you can confirm?

Exactly right.

Please also provide the "cat /mnt/c/file1" and "cat /mnt/c/file2" from UoW.

From the Cygwin shell (note that my Cygwin and Windows home directories
are the same: /home/cowan is a Cygwin symlink to /cygdrive/c/Users/cowan):

cowan@large-skunk ~
$ echo stuff >file1

cowan@large-skunk ~
$ cat file1

cowan@large-skunk ~
$ ls -l file1
-rw-r--r--+ 1 cowan cowan 6 Apr 13 08:57 file1

From cmd.exe:

c:\Users\cowan>echo stuff >file2

c:\Users\cowan>type file2

From UoW bash prompt:

root@localhost:~# cd /mnt/c/Users/cowan
root@localhost:/mnt/c/Users/cowan# cat file1
cat: file1: Permission denied
root@localhost:/mnt/c/Users/cowan# cat file2
root@localhost:/mnt/c/Users/cowan# ls -l file1 file2
-rwxrwxrwx 1 root root 6 Apr 13 12:57 file1
-rwxrwxrwx 1 root root 8 Apr 13 12:57 file2

As you can see, they look exactly the same but are different somehow.
What is more, if I use cmd.exe echo to append to file1 and Cygwin echo
to append to file2, it changes nothing.  Likewise, if I overwrite them
completely, it changes nothing.  Only if I remove them and re-create
them from the "wrong" side does file1 become readable and file2 become

This is 64-bit Windows on an NTFS file system, but 32-bit Cygwin.  I'll
try installing Cygwin64 tonight and seeing if that makes any difference.

You can use the cygwin od (octal dump) command to see the exact byte contents
of the files.  (Use od -c <file>.)  I suspected that one difference was \r\n
line termination from Windows echo and \n termination from cygwin echo.  That
did not explain the two byte difference in length, however.  I tried it myself
and found that cmd's echo adds a space after "stuff".  If I do:
c:\Users\moss> echo stuff> file1
(Note: no space before the > !)
It writes "stuff" without the extra space.  The line termination is still \r\n.
cygwin's echo gets rid of the space (because bash trims it before passing the
"stuff" argument) and uses \n as the line terminator.

As for permissions issues, that would have to do with cygwin's permission
system, a rather different topic.

Perhaps you did not know that the two echo's are different?

Regards -- Eliot MOss

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]