[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Incorrect path canonicalisation at autocompletion
From: |
Chet Ramey |
Subject: |
Re: Incorrect path canonicalisation at autocompletion |
Date: |
Mon, 3 Dec 2018 09:58:33 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.3.2 |
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'.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/