This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: (cd $P && pwd) fails for path >255 chars
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 7 Oct 2010 10:49:10 +0200
- Subject: Re: (cd $P && pwd) fails for path >255 chars
- References: <20101007095030.GA3479@localhost.localdomain>
- Reply-to: cygwin at cygwin dot com
On Oct 7 11:50, Ladislav Michl wrote:
> Hi,
>
> while building Cygwin hosted toolchain build was mysteriously failing with
> 'No such file or directory'. Here's a test case:
>
> P=/tmp
> for i in 1 2 3 4 5 6 7 8
> do
> P=$P/this_is_somewhat_very_long_path
> done
> mkdir -p $P
> (cd $P && pwd)
>
> pwd outputs just '.', but once editing loop to end at 7th iteration (thus
> making path shorter than 255 characters) it prints path correctly.
>
> The problem is that 'cd' cannot change directory to path longer that 255
> characters and fails silently with exit status 0. Is it known/expected
> behaviour?
It is not known behaviour and it's rather weird. If you try to cd into
this directory on the command line it works fine. And pwd works fine
as well. Just as part of the shell script it fails.
That looks like a bash bug. If you convert the script to tcsh syntax,
you'll see that it works fine in tcsh:
set P = /home/corinna/tmp
foreach i ( 1 2 3 4 5 6 7 8 )
set P = $P/this_is_somewhat_very_long_path
end
mkdir -p $P
(cd $P && pwd)
I also tried with path lengths of more than 6000 chars.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
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