The posix-cd program
posix-cd changes the current working directory to a given directory, then executes a program.
Interface
posix-cd [ -L | -P ] dir prog...
posix-cd changes the current working directory to dir according to the POSIX specification for a cd external utility. Then, if prog... is not empty, it execs into it.
Notes
- 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.
- posix-cd fully conforms to the POSIX specification. 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.
- 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, 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.
