This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Spelling - megapatch
[metaconfig.git] / U / modified / sh.U
CommitLineData
c98a3161
JH
1?RCS: $Id: sh.U,v 3.0.1.1 1997/02/28 16:20:13 ram Exp $
2?RCS:
3?RCS: Copyright (c) 1997, Chip Salzenberg
4?RCS: Copyright (c) 1991-1993, Raphael Manfredi
65a32477
MBT
5?RCS:
6?RCS: You may redistribute only under the terms of the Artistic License,
c98a3161
JH
7?RCS: as specified in the README file that comes with the distribution.
8?RCS: You may reuse parts of this distribution only within the terms of
65a32477 9?RCS: that same Artistic License; a copy of which may be found at the root
c98a3161 10?RCS: of the source tree for dist 3.0.
65a32477 11?RCS:
c98a3161
JH
12?RCS: $Log: sh.U,v $
13?RCS: Revision 3.0.1.1 1997/02/28 16:20:13 ram
14?RCS: patch61: created
15?RCS:
16?MAKE:sh: Head
17?MAKE: -pick wipe $@ %<
18?S:sh:
19?S: This variable contains the full pathname of the shell used
20?S: on this system to execute Bourne shell scripts. Usually, this will be
21?S: /bin/sh, though it's possible that some systems will have /bin/ksh,
22?S: /bin/pdksh, /bin/ash, /bin/bash, or even something such as
23?S: D:/bin/sh.exe.
24?S: This unit comes before Options.U, so you can't set sh with a -D
25?S: option, though you can override this (and startsh)
26?S: with -O -Dsh=/bin/whatever -Dstartsh=whatever
27?S:.
28?C:SH_PATH:
29?C: This symbol contains the full pathname to the shell used on this
30?C: on this system to execute Bourne shell scripts. Usually, this will be
31?C: /bin/sh, though it's possible that some systems will have /bin/ksh,
32?C: /bin/pdksh, /bin/ash, /bin/bash, or even something such as
33?C: D:/bin/sh.exe.
34?C:.
35?H:#define SH_PATH "$sh" /**/
36?H:.
37?T:xxx try pth p SYSTYPE
38?LINT:extern maintloc maintname _exe
39?X:
40?X: Be quiet unless something unusual happens because this gets
41?X: loaded up even before options are processed.
42?X: Can't use ./loc because that depends on startsh, which, in turn
43?X: depends on this unit.
c98a3161
JH
44?X:
45: Find the basic shell for Bourne shell scripts
46case "$sh" in
47'')
65a32477 48?X: SYSTYPE is for some older MIPS systems.
c98a3161
JH
49?X: I do not know if it is still needed.
50 case "$SYSTYPE" in
51 *bsd*|sys5*) xxx="/$SYSTYPE/bin/sh";;
52 *) xxx='/bin/sh';;
53 esac
54 if test -f "$xxx"; then
55 sh="$xxx"
56 else
57 : Build up a list and do a single loop so we can 'break' out.
58 pth=`echo $PATH | sed -e "s/$p_/ /g"`
59 for xxx in sh bash ksh pdksh ash; do
60 for p in $pth; do
61 try="$try ${p}/${xxx}"
62 done
63 done
64 for xxx in $try; do
65 if test -f "$xxx"; then
66 sh="$xxx";
67 break
68 elif test "X$_exe" != X -a -f "$xxx$_exe"; then
69 sh="$xxx";
70 break
71 elif test -f "$xxx.exe"; then
72 sh="$xxx";
73 break
74 fi
75 done
76 fi
77 ;;
78esac
79
80?X: fd 4 isn't open yet...
81case "$sh" in
82'') cat >&2 <<EOM
65a32477 83$me: Fatal Error: I can't find a Bourne Shell anywhere.
c98a3161
JH
84
85Usually it's in /bin/sh. How did you even get this far?
65a32477 86Please contact me (<$maintname>) at <$maintloc> and
c98a3161
JH
87we'll try to straighten this all out.
88EOM
89 exit 1
90 ;;
91esac
92