On Wed, Jul 30, 2025, 10:22 Grisha Levit <grishale...@gmail.com> wrote:
> > On Wed, Jul 30, 2025, 09:51 Michal Sojka <michal.so...@cvut.cz> wrote: > >> Configuration Information: >> Machine: x86_64 >> OS: linux-gnu >> Compiler: gcc >> Compilation CFLAGS: -g -O2 >> uname output: Linux steelpick 6.12.37 #1-NixOS SMP PREEMPT_DYNAMIC Thu >> Jul 10 14:05:15 UTC 2025 x86_64 GNU/$ >> Machine Type: x86_64-pc-linux-gnu >> >> Bash Version: 5.3 >> Patch Level: 0 >> Release Status: release >> >> Description: >> When running "cd ''", bash 5.3 fails with "cd: null directory" >> while previous versions succeeded without an error and no >> directory was changed. I'm not sure whether this is considered a >> bug or not. The SUS[1] says "If directory is an empty string, >> the results are unspecified.". However, I didn't find anything >> related to this change in the NEWS file for bash-5.3. Other >> shells (zsh, dash, osh) seem to accept empty directory as cd >> argument. >> >> [1]: >> https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cd.html >> > >> > The current version[1] of the standard specifies: > > If directory is an empty string, cd shall write a diagnostic message > to standard error and exit with non-zero status. > > This standard change was due to interpretation 1047[2]. > > [1] https://pubs.opengroup.org/onlinepubs/9799919799/utilities/cd.html > [2] https://austingroupbugs.net/view.php?id=1047 > BTW, `help cd' still has the now outdated statement: A null directory name is the same as the current directory. >