Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pwd built-in

The pwd built-in prints the working directory path.

Synopsis

pwd [-L|-P]

Description

The built-in prints the pathname of the current working directory followed by a newline to the standard output.

Options

With the -L (--logical) option, the printed path is the value of the PWD variable if it is correct. The path may contain symbolic link components, but not . or .. components.

With the -P (--physical) option (or if PWD is not correct), the built-in recomputes and prints the actual path to the working directory. The output excludes symbolic link components as well as . and .. components.

These two options are mutually exclusive. The last specified one applies if given both. The default is -L.

Operands

None.

Errors

This built-in may fail for various reasons. For example:

  • The working directory has been removed from the file system.
  • You lack permission to access one or more ancestor directories required to determine the working directory’s path.
  • The standard output is not writable.

Exit Status

Zero if the path was successfully printed; non-zero otherwise.

Compatibility

POSIX-1.2024 defines the pwd utility with the -L and -P options.

POSIX allows pwd to apply the -P option if the -L option is specified and PWD is longer than PATH_MAX.

The shell sets PWD on the startup and modifies it in the cd built-in. If PWD is modified or unset otherwise, the behavior of cd and pwd is unspecified.