mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
62 lines
1 KiB
Groff
62 lines
1 KiB
Groff
|
.TH SEARCHPATH 3
|
||
|
.SH NAME
|
||
|
search \- search for named executable
|
||
|
.SH SYNOPSIS
|
||
|
.B #include <u.h>
|
||
|
.br
|
||
|
.B #include <libc.h>
|
||
|
.PP
|
||
|
.B
|
||
|
char* searchpath(char *name)
|
||
|
.SH DESCRIPTION
|
||
|
.I Searchpath
|
||
|
searches for the executable
|
||
|
.I name
|
||
|
in the same way that
|
||
|
.IR sh (1)
|
||
|
and
|
||
|
.IR rc (1)
|
||
|
do.
|
||
|
.PP
|
||
|
The environment variable
|
||
|
.B $PATH
|
||
|
is treated as a colon-separated list of directories in which to look for
|
||
|
.IR name .
|
||
|
An empty string in the list is treated as the current directory.
|
||
|
If an executable named
|
||
|
.I name
|
||
|
is found in one of the directories,
|
||
|
.I searchpath
|
||
|
returns a pointer to a malloced string containing a path
|
||
|
.IB \fR( dir / name \fR,
|
||
|
or simply
|
||
|
.IR name )
|
||
|
suitable for use in
|
||
|
.IR open (3)
|
||
|
or
|
||
|
.IR exec (3).
|
||
|
.PP
|
||
|
If
|
||
|
.I name
|
||
|
begins with
|
||
|
.B ./ ,
|
||
|
.B ../ ,
|
||
|
or
|
||
|
.B / ,
|
||
|
then the search path is ignored.
|
||
|
If
|
||
|
.I name
|
||
|
exists and is an executable, then
|
||
|
.I searchpath
|
||
|
returns a malloced string containing name.
|
||
|
.PP
|
||
|
The returned buffer should be freed when no longer needed.
|
||
|
If
|
||
|
.I name
|
||
|
is not found,
|
||
|
.I searchpath
|
||
|
returns nil.
|
||
|
.PP
|
||
|
.SH SOURCE
|
||
|
.B \*9/src/lib9/searchpath.c
|