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