1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#!/bin/sh
# help.sh -- "dejagnu help" command
#
# Copyright (C) 2018, 2021 Free Software Foundation, Inc.
#
# This file is part of DejaGnu.
#
# DejaGnu is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# DejaGnu is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with DejaGnu; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
# ##help
# #Usage: dejagnu help [ OPTIONS... ] COMMAND
# # --verbose, -v Emit additional messages
# # --path, -w Passed to man(1)
# # -W Passed to man(1)
# ##end
# shellcheck disable=SC2003
# The shellcheck tool complains about use of expr and recommends using
# newer shell features instead. Solaris 10 /bin/sh does not support the
# newer features, so we must use expr in this script.
# shellcheck disable=SC2006
# The shellcheck tool complains about the old style backtick command
# substitution. Solaris 10 /bin/sh does not support the new style $()
# command substitution and the usage of command substitution in this script
# is simple enough to work. Most notably, nesting backtick command
# substitution is tricky, but we do not do that.
# This script was written by Jacob Bachmeyer.
# For testing and development
in_test_mode=false
if test x"$1" = x--DGTest ; then
in_test_mode=true
shift
fi
args=
command=dejagnu
verbose=0
for a in "$@"; do
case $a in
-v|--v|-verb*|--verb*) verbose=`expr $verbose + 1` ;;
-w|-W|--path) args="${args} ${a}" ;;
-*) echo Unrecognized option "\"$a\"" ;;
*) command="${command}-${a}" ;;
esac
done
if expr "$verbose" \> 0 > /dev/null ; then
echo Verbose level is $verbose
fi
## Get the location of this script and check for nearby "doc" dir.
commdir=`echo "$0" | sed -e 's@/[^/]*$@@'`
docdir=`echo "$commdir" | sed -e 's@/[^/]*$@@'`/doc
if expr "$verbose" \> 0 > /dev/null ; then
echo Running from "$commdir"
if expr "$verbose" \> 1 > /dev/null ; then
echo Probing "$docdir"
fi
fi
if test -d "$docdir"; then
if expr "$verbose" \> 1 > /dev/null ; then
echo Probing "${docdir}/${command}.1"
fi
if test -r "${docdir}/${command}.1" ; then
command="${docdir}/${command}.1"
fi
fi
# Word splitting on the "args" variable is intended.
# Globbing is not, but ensure that verbose output will show the problem.
if expr "$verbose" \> 0 > /dev/null ; then
#shellcheck disable=SC2086
echo Forwarding to man $args "\"$command\""
fi
if $in_test_mode ; then
echo man "$args $command"
else
#shellcheck disable=SC2086
exec man $args "$command"
fi
#EOF
|