On Thu, Sep 30, 2021 at 01:56:45PM +0200, Andreas Schwab wrote: > On Sep 30 2021, Greg Wooledge wrote: > > > No, they probably have a /usr/share/man/man1/alias.1.gz -> > > bash-builtins.1.gz > > symlink or something, set up by their OS vendor. > > See the comment in doc/builtins.1: > > .\" This is a hack to force bash builtins into the whatis database > .\" and to get the list of builtins to come up with the man command. > > This happens automagically.
unicorn:~$ locate builtins.7 [...] /etc/alternatives/builtins.7.gz /usr/share/man/man7/bash-builtins.7.gz /usr/share/man/man7/builtins.7.gz /var/lib/dpkg/alternatives/builtins.7.gz unicorn:~$ ls -l /usr/share/man/man7/builtins.7.gz lrwxrwxrwx 1 root root 31 Aug 5 07:09 /usr/share/man/man7/builtins.7.gz -> /etc/alternatives/builtins.7.gz unicorn:~$ ls -l /etc/alternatives/builtins.7.gz lrwxrwxrwx 1 root root 38 Aug 5 07:09 /etc/alternatives/builtins.7.gz -> /usr/share/man/man7/bash-builtins.7.gz unicorn:~$ ls -l /usr/share/man/man7/bash-builtins.7.gz -rw-r--r-- 1 root root 508 Aug 4 16:25 /usr/share/man/man7/bash-builtins.7.gz unicorn:~$ man mapfile No manual entry for mapfile unicorn:~$ man complete | head -n1 No manual entry for complete unicorn:~$ man alias | head -n1 ALIAS(1POSIX) POSIX Programmer's Manual ALIAS(1POSIX) unicorn:~$ man for | head -n1 for(n) Tcl Built-In Commands for(n) Again, all of this stuff is OS-specific. Or in some cases, even single- system-specific. It's also possibly worth pointing out that the "builtins.7" provided by Debian 11 contains a synopsis from bash 2.05b, listing a set of builtin commands that's *vastly* out of date. But the actual content provided by "bash-builtins.7" is newer, and includes builtins like mapfile, which are not listed in the synopsis.