|
From: | Ilkka Virta |
Subject: | Re: Bug on bash shell - $PWD (and consequentely prompt) not updated while renaming current folder. |
Date: | Sat, 20 Jun 2020 18:26:45 +0300 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
On 20.6. 3.51, correio@goncalo.pt wrote:
When we rename the current working directory, $PWD doesn't get updatedas 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 -- Ilkka Virta / itvirta@iki.fi
[Prev in Thread] | Current Thread | [Next in Thread] |