[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Incorrect path canonicalisation at autocompletion
From: |
Mattias Andrée |
Subject: |
Re: Incorrect path canonicalisation at autocompletion |
Date: |
Mon, 3 Dec 2018 16:05:56 +0100 |
User-agent: |
Claws Mail |
On Mon, 3 Dec 2018 09:58:33 -0500
Chet Ramey <chet.ramey@case.edu> wrote:
> On 12/3/18 9:49 AM, Mattias Andrée wrote:
> > On Mon, 3 Dec 2018 09:33:48 -0500
> > Chet Ramey <chet.ramey@case.edu> wrote:
> >
> >> On 12/1/18 3:12 PM, Mattias Andrée wrote:
> >>> Using Bash 4.4.023, type
> >>>
> >>> cd
> >>> mkdir -p 1/2
> >>> cd 1/2
> >>> touch ../../3
> >>> ln -s ~ 4
> >>> touch 5
> >>> ls 4/../
> >>>
> >>> without pressing enter at the last line,
> >>> instead press <tab> twice. 4/ and 5 will
> >>> be suggested, but if you press <enter>
> >>> you will see that it should suggest the> files in /home.
> >>
> >> It's not a bug. Bash maintains a logical view of the file system and the
> >> current directory for cd, pwd, and $PWD, as Posix specifies. One of the
> >> consequences is that the pathname of the current directory depends on the
> >> path used to reach it, which affects how bash canonicalizes `..'. Bash is
> >> consistent in its use of this logical view across shell features, which
> >> includes completion.
> >>
> >> If you want to see a physical view of the file system, use
> >> `set -o physical'.
> >>
> >
> > Is there a way to only get physical view for
> > completion but logical view for cd, pwd, and $PWD?
>
> You can by using set -o physical within a completion function or running
> with set -o physical all the time and using `cd -L' and `pwd -L'.
>
Thanks!