xref: /netbsd-src/usr.bin/realpath/realpath.1 (revision d16b7486a53dcb8072b60ec6fcb4373a2d0c27b7)
1.\"	$NetBSD: realpath.1,v 1.3 2022/07/21 09:51:53 wiz Exp $
2.\"-
3.\" Copyright (c) 1990, 1993
4.\"	The Regents of the University of California.  All rights reserved.
5.\"
6.\" This code is derived from software contributed to Berkeley by
7.\" the Institute of Electrical and Electronics Engineers, Inc.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\" 3. Neither the name of the University nor the names of its contributors
18.\"    may be used to endorse or promote products derived from this software
19.\"    without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
32.\"
33.\"     @(#)pwd.1	8.2 (Berkeley) 4/28/95
34.\" From: src/bin/pwd/pwd.1,v 1.11 2000/11/20 11:39:39 ru Exp
35.\" $FreeBSD: head/bin/realpath/realpath.1 314436 2017-02-28 23:42:47Z imp $
36.\"
37.Dd July 21, 2022
38.Dt REALPATH 1
39.Os
40.Sh NAME
41.Nm realpath
42.Nd return resolved canonical path
43.Sh SYNOPSIS
44.Nm
45.Op Fl eEq
46.Op Ar path ...
47.Sh DESCRIPTION
48The
49.Nm
50utility uses the
51.Xr realpath 3
52function to resolve all symbolic links, extra
53.Ql /
54characters and references to
55.Pa /./
56and
57.Pa /../
58in each
59.Ar path ,
60and writes the result of each to standard output
61followed by a newline.
62If
63.Ar path
64is absent, the current working directory
65.Pq Sq Pa .\&
66is assumed.
67.Pp
68With the
69.Fl E
70option
71(the default)
72it is not an error for the final component
73of the resolved pathname to reference a file
74which does not exist.
75.Pp
76The
77.Fl e
78option reverses the effect of
79.Fl E ,
80requiring the
81.Ar path
82to resolve to an existing pathname.
83.Pp
84If
85.Fl q
86is specified, warnings will not be printed when
87.Xr realpath 3
88fails.
89Messages about other errors, such as bad usage, are still printed.
90.Pp
91On error, nothing is written
92to standard output for that
93.Ar path .
94If
95.Fl q
96was not given a diagnostic is written to standard error.
97.Sh EXIT STATUS
98.Ex -std
99Any failure to resolve a
100.Ar path
101is an error for this purpose,
102the
103.Fl q
104option is irrelevant.
105.Sh SEE ALSO
106.Xr readlink 1 ,
107.Xr realpath 3
108.Sh STANDARDS
109The
110.Nm
111utility is expected to comply with the forthcoming
112edition of the POSIX standard.
113To be fully POSIX compliant, applications must use
114either the
115.Fl e
116or
117.Fl E
118option, as which of those (if in fact either, and
119not some other behaviour) applies in their absence
120is unspecified.
121The standard requires support for only a single, mandatory,
122.Ar path
123argument.
124.Sh HISTORY
125The
126.Nm
127utility first appeared in
128.Fx 4.3
129and was imported into
130.Nx 10 ,
131but modified to be slightly more compatible with the coreutils version,
132and the proposed POSIX standard requirements.
133