logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       If the pathname obtained from pwd is longer than {PATH_MAX} bytes, it could produce an error if passed to
       cd.  Therefore, in order to return to that directory it may be  necessary  to  break  the  pathname  into
       sections shorter than {PATH_MAX} and call cd on each section in turn (the first section being an absolute
       pathname and subsequent sections being relative pathnames).

Asynchronous Events

       Default.

Consequences Of Errors

       If  an  error  is detected, output shall not be written to standard output, a diagnostic message shall be
       written to standard error, and the exit status is not zero.

       Thefollowingsectionsareinformative.

Description

       The  pwd  utility  shall  write to standard output an absolute pathname of the current working directory,
       which does not contain the filenames dot or dot-dot.

Environment Variables

       The following environment variables shall affect the execution of pwd:

       LANG      Provide a default value for the internationalization variables that are unset or null. (See the
                 Base Definitions volume  of  POSIX.1‐2017,  Section8.2,  InternationalizationVariables  the
                 precedence   of   internationalization  variables  used  to  determine  the  values  of  locale
                 categories.)

       LC_ALL    If set to a non-empty string value, override the values of all the  other  internationalization
                 variables.

       LC_MESSAGES
                 Determine  the  locale  that  should  be  used  to affect the format and contents of diagnostic
                 messages written to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

       PWD       An absolute pathname of the current working directory. If an application  sets  or  unsets  the
                 value of PWD, the behavior of pwd is unspecified.

Examples

       None.

Exit Status

       The following exit values shall be returned:

        0    Successful completion.

       >0    An error occurred.

Extended Description

       None.

Future Directions

       None.

Input Files

       None.

Name

       pwd — return working directory name

Operands

       None.

Options

       The pwd utility shall conform to the Base Definitions  volume  of  POSIX.1‐2017,  Section12.2,  UtilitySyntaxGuidelines.

       The following options shall be supported by the implementation:

       -L        If  the PWD environment variable contains an absolute pathname of the current directory and the
                 pathname does not contain any components that are dot or dot-dot, pwd shall write this pathname
                 to standard output, except that if the PWD environment variable is longer than {PATH_MAX} bytes
                 including the terminating null, it is unspecified whether pwd writes this pathname to  standard
                 output or behaves as if the -P option had been specified. Otherwise, the -L option shall behave
                 as the -P option.

       -P        The pathname written to standard output shall not contain any components that refer to files of
                 type  symbolic  link.  If  there  are  multiple  pathnames  that the pwd utility could write to
                 standard output, one beginning with a single <slash> character and one or more  beginning  with
                 two  <slash>  characters,  then  it  shall  write  the pathname beginning with a single <slash>
                 character. The pathname shall not contain any unnecessary <slash> characters after the  leading
                 one or two <slash> characters.

       If  both  -L  and  -P are specified, the last one shall apply. If neither -L nor -P is specified, the pwd
       utility shall behave as if -L had been specified.

Output Files

       None.

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       Some implementations have historically provided pwd as a shell special built-in command.

       In  most  utilities,  if an error occurs, partial output may be written to standard output. This does not
       happen in historical implementations of pwd.  Because pwd is frequently used in historical shell  scripts
       without  checking  the  exit  status,  it  is  important  that  the historical behavior is required here;
       therefore, the CONSEQUENCES OF ERRORS section specifically disallows any partial output being written  to
       standard output.

       An  earlier  version  of  this standard stated that the PWD environment variable was affected when the -P
       option was in effect. This was incorrect; conforming implementations do not do this.

See Also

cd

       The Base Definitions volume of POSIX.1‐2017, Chapter8,  EnvironmentVariables,  Section12.2,  UtilitySyntaxGuidelines

       The System Interfaces volume of POSIX.1‐2017, getcwd()

Stderr

       The standard error shall be used only for diagnostic messages.

Stdin

       Not used.

Stdout

       The pwd utility output is an absolute pathname of the current working directory:

           "%s\n", <directorypathname>

Synopsis

       pwd [-L|-P]

See Also