POSIX-CD(1)

NAME
posix-cd - change the current working directory to a given directory, then execute a program

SYNOPSIS
posix-cd [-L | -P] dir prog...

DESCRIPTION
posix-cd changes the current working directory to dir according to the POSIX specification for a ‘cd’ external utility[1]. Then, if prog... is not empty, it execs into it.

When execline has been configured with the ‘--enable-pedantic-posix’ option, the cd command is a symbolic link to it. So scripts calling cd will use posix-cd. When this configuration option has not been given, cd is a symbolic link to execline-cd(1).

posix-cd fully conforms to the POSIX specification[1]. When prog... is not empty, the behaviour of a ‘cd’ utility is not specified by POSIX, so posix-cd extends the spec to be actually useful and usable in an execline program with the same interface as the regular execline ‘cd’ command ( cf. execline-cd(1)).

Nobody ever executes or needs the external version (i.e. not a shell builtin) of the POSIX ‘cd’ command. Compared to execline's regular cd binary, execline-cd(1), posix-cd is uselessly bloated and slow. The only reason it exists is that some distributions refuse to package execline correctly unless it is strictly POSIX-compliant; the ‘--enable-pedantic-posix’ configure option is there to satisfy their requirements.

SEE ALSO
emptyenv(1), envfile(1), exec(1), execline-cd(1), execline-umask(1), exit(1), export(1), fdblock(1), fdclose(1), fdmove(1), fdreserve(1), fdswap(1), getcwd(1), getpid(1), heredoc(1), piperw(1), posix-umask(1), redirfd(1), trap(1), tryexec(1), unexport(1), wait(1), withstdinas(1)

[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cd.html

This man page is ported from the authoritative documentation at: https://skarnet.org/software/execline/posix-cd.html

AUTHORS
Laurent Bercot Alexis <flexibeast@gmail.com> (man page port)