mirror of https://gitee.com/Nocallback/dejagnu.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.9 KiB
101 lines
2.9 KiB
#!/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
|
|
|