On Fri, Jul 12, 2024 at 10:26:54 +0700, Robert Elz wrote: > Is it supposed to continually run "stat($PWD, ...)" forever (after > all the directory might be removed from elsewhere while you're in > the middle of typing a command - what do you expect to happen then?)
It's even worse: let's say a new option is added, to have bash stat $PWD before or after every command is executed. If the stat fails, then bash changes directory. Then let's say you write a script, and run it under bash using this new option. If the script's working directory is unlinked, and this new option triggers, then bash will change its working directory. This could happen in between *any* pair of commands. The script won't even know that it happened, and won't be expecting it. Essentially, this would make it impossible to use any relative pathnames safely. A script has to *know* what its working directory is, or it has to use only absolute pathnames. Otherwise, something like this: cd "$mydir" || exit touch "$tmpfile" ... rm -f "$tmpfile" could end up removing a temp file (accessed via a relative pathname) from the wrong directory, because the working directory changed before the rm command was executed.