summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-01-26 21:49:54 +0000
committerjkh <jkh@FreeBSD.org>1995-01-26 21:49:54 +0000
commit17c2207d91f2e1977f8a2531072e7d30a7ae2d3f (patch)
tree3a485223394c8d004ed77db74152e4070256c4ed
parentdd5cf89ec4aa71c9c6e54b50b32167bd1712f544 (diff)
downloadFreeBSD-src-17c2207d91f2e1977f8a2531072e7d30a7ae2d3f.zip
FreeBSD-src-17c2207d91f2e1977f8a2531072e7d30a7ae2d3f.tar.gz
Use the better perl script version of which submitted by Wolfram.
Submitted by: Wolfram Schneider <wosch@cs.tu-berlin.de>
-rw-r--r--usr.bin/which/Makefile11
-rw-r--r--usr.bin/which/which.154
-rwxr-xr-xusr.bin/which/which.pl52
3 files changed, 117 insertions, 0 deletions
diff --git a/usr.bin/which/Makefile b/usr.bin/which/Makefile
new file mode 100644
index 0000000..a60e713
--- /dev/null
+++ b/usr.bin/which/Makefile
@@ -0,0 +1,11 @@
+# Makefile for which
+# $Id: Makefile,v 1.6 1995/01/24 17:58:35 bde Exp $
+
+NOOBJ= yes
+SRCS=
+
+afterinstall:
+ install -c -o $(BINOWN) -g $(BINGRP) -m $(BINMODE) \
+ which.pl $(DESTDIR)$(BINDIR)/which
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/which/which.1 b/usr.bin/which/which.1
new file mode 100644
index 0000000..757ae1e
--- /dev/null
+++ b/usr.bin/which/which.1
@@ -0,0 +1,54 @@
+.\" Copyright (c) 1995, Jordan Hubbard <jkh@freebsd.org>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the FreeBSD Project
+.\" its contributors.
+.\" 4. Neither the name of the FreeBSD Project nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+#
+.\" THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.Dd January 26, 1995
+.Dt WHICH 1
+.Os FreeBSD
+.Sh NAME
+.Nm which
+.Nd "locate a program file in the user's path"
+.Sh SYNOPSIS
+.Nm which
+.Op Ar command
+.Ar ...
+.Sh DESCRIPTION
+.Nm Which
+takes a list of command names and searches the path for each executable
+file that would be run had these commands actually been invoked.
+.Sh HISTORY
+The
+.Nm
+command first appeared in FreeBSD 2.1
+.Sh SEE ALSO
+.Xr perl 1
+.Sh AUTHOR
+The PERL script for this more modern version of
+.Nm which
+was written by Wolfram Schneider <wosch@cs.tu-berlin.de>.
diff --git a/usr.bin/which/which.pl b/usr.bin/which/which.pl
new file mode 100755
index 0000000..757da9b
--- /dev/null
+++ b/usr.bin/which/which.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 1995, Wolfram Schneider <wosch@cs.tu-berlin.de>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the University of
+# California, Berkeley and its contributors.
+# 4. Neither the name of the University nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# [whew!]
+#
+# $Id: which.sh,v 1.1.1.1 1995/01/25 19:18:33 jkh Exp $
+
+$all = 0;
+@path = split(/:/, $ENV{'PATH'});
+
+if ($ARGV[0] eq "-a") {
+ $all = 1; shift @ARGV;
+} elsif ($ARGV[0] =~ /^-(h|help|\?)$/) {
+ die "usage:\n\twhich [-a] program ...\n";
+}
+
+foreach $prog (@ARGV) {
+ foreach $e (@path) {
+ if (-x "$e/$prog") {
+ print "$e/$prog\n";
+ last unless $all;
+ }
+ }
+}
OpenPOWER on IntegriCloud