> On Jun 20, 2020, at 11:26 AM, Ilkka Virta <itvi...@iki.fi> wrote:
> 
>> On 20.6. 3.51, corr...@goncalo.pt wrote:
>> 
>> When we rename the current working directory, $PWD doesn't get updated
>> as it would as it would if we just did a simple "cd directory". Fix:
>> Probably: Trigger the current working directory refresh event, like it
>> is already done with the cd command. Because we can be renaming our own
>> current working directory, so a simple trigger is needed when mv is
>> executed and renaming the current working directory. At the same time,
> 
> The directory can get renamed by some completely unrelated background
> process, without any action from the shell, so you'd need to recheck
> it every time the prompt is printed, not just when a particular
> command, or any command, is launched. (The name of the directory
> could even change while the shell is waiting for a command line to
> be input.)
> 
> Running  cd .  should reset PWD to show the new name, and if you
> need that often, I suppose you could run it from PROMPT_COMMAND:
> 
> /tmp$ PROMPT_COMMAND='cd .'
> /tmp$ mkdir old
> /tmp$ cd old
> /tmp/old$ mv /tmp/old /tmp/new
> /tmp/new$ echo $PWD
> /tmp/new

Here's something fun though:

$ PROMPT_COMMAND='cd .'
$ readlink /tmp
private/tmp
$ mkdir /tmp/old
$ cd /tmp/old
$ echo "$PWD"
/tmp/old
$ mv /tmp/old /tmp/new
$ echo "$PWD"
/private/tmp/new

Not wrong, but maybe unexpected to some.

vq

Reply via email to